今天我们介绍的这个办法,只需要简单修改 httpd-vhosts.conf 文件,配合 .htaccess 文件即可实现自动配置二级域名。

我们这里以 wpchina.com 为例,以下代码中的 wpchina.com 都可以替换成你自己想要域名。

我们的目标是,不同的子域名可以访问不同目录下的网站:
wpchina.com => / ;

home.wpchina.com => /home;

bbs.wpchina.com => /bbs;

…
 
第一步,确认安装好 Apache 服务器,并支持 .htaccess 模块(需要开启mod_rewrite)。你可以参考这里或这里,或者直接下载XAMPP,默认支持此功能。 第二步,设置好二级域名。高级一点的可以在路由器里设置,如dd-wrt路由器支持域名泛解析,会很方便。简单一些的,直接修改hosts文件。 打开 C:\Windows\System32\drivers\etc\hosts 文件,在最后加入以下三行代码,并保存。Win7/Vista用户记得使用管理员权限编辑此文件,否则编辑后将无法保存。 
127.0.0.1            wpchina.com

127.0.0.1            home.wpchina.com

127.0.0.1            bbs.wpchina.com

第三步,在 httpd-vhosts.conf 文件中绑定 wpchina.com 域名。 首先取消 NameVirtualHost *: 代码签名的 # 按照其中的样例,添加以下代码:
<VirtualHost *:80>

    DocumentRoot "/xampp/htdocs/www/wpchina.com"

    ServerName wpchina.com

    ServerAlias *.wpchina.com

</VirtualHost>  
 设置之后,重新启动 Apache 服务器。 第四步,在网站根目录 /xampp/htdocs/www/wpchina.com 下创建 .htaccess 文件,并添加以下代码: 
RewriteEngine on

#让www.wpchina.com 访问根目录CMS

RewriteCond %{HTTP_HOST} ^www.wpchina.com$

RewriteCond %{REQUEST_URI} !^/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /$1

RewriteCond %{HTTP_HOST} ^www.wpchina.com$

RewriteRule ^(/)?$ /index.php [L]

#让home.wpchina.com 访问home目录

RewriteCond %{HTTP_HOST} ^home.wpchina.com$

RewriteCond %{REQUEST_URI} !^/home/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /home/$1

RewriteCond %{HTTP_HOST} ^home.wpchina.com$

RewriteRule ^(/)?$ home/index.php [L]

#让bbs.wpchina.com 访问bbs目录

RewriteCond %{HTTP_HOST} ^bbs.wpchina.com$

RewriteCond %{REQUEST_URI} !^/wap/

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /bbs/$1

RewriteCond %{HTTP_HOST} ^bbs.wpchina.com$

RewriteRule ^(/)?$ bbs/index.php [L] 
第五步,在网站根目录 /xampp/htdocs/www/wpchina.com 下建立 home, bbs 两个子目录。并在每个目录下放一个 index.php 文件,文件内容为: 
<?php

echo $_SERVER['SCRIPT_FILENAME'];

?>

这时候,你可以试试,分别访问 wpchina.com, home.wpchina.com, bbs.wpchina.com ,就可以看到不同的访问结果。 按照上面的办法,以后如果要增加别的子域名,只要重复第二步和第四步就可以了,不再需要重启apache,影响到其他网站。 附注:本文所提到的配置子域名的办法,仅用于测试环境,未进行安全测试,请勿直接用于生产环境。

转载于http://wpchina.org

Windows下Apache服务器中自动配置二级子域名的更多相关文章

  1. Windows下Apache服务器搭建

    Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性 ...

  2. 死磕!Windows下Apache+PHP+phpmyadmin的配置

    环境配置真的很烦很费时间,稍不小心就会出错,这是一个鸡肋体力劳动,耐心和忍耐少不了.这个资料已经非常详细了,其中变量和路径不是百分百吻合但是意思已经很清楚了.剩下的就是耐心的执行和琢磨了. 一.  A ...

  3. Windows下Apache+MySQL+PHP快速配置的几种方法

    Apache MySQL PHP Windows WAMP 1.易思EasySiteServer服务器集成环境 v1.0  (推荐) 尔创互联为推广其ESPCMS而开发的一个小东东,很好用.零配置,完 ...

  4. windows下Apache的虚拟主机配置

    1.Apache虚拟主机: 在Apache上有关于虚拟主机的具体说明,具体可以参考Apache手册,这里简单的说一下虚拟主机主要分为两种: 1.基于主机名的虚拟主机(一个IP地址,多个网站) 2.基于 ...

  5. windows下apache服务器的下载,安装,配置

    1.进行apache官网->Download->Files for Microsoft Windows->ApacheHaus,然后选择合适的版本下载 2.将下载下来的压缩包解压到合 ...

  6. windows下apache+php+mysql 环境配置方法

    一 准备 1 下载apache http://httpd.apache.org/download.cgi#apache24 httpd-2.2.22-win32-x86-openssl-0.9.8t. ...

  7. [转]Windows 下 Apache Virtual hosts 简单配置

    From : http://blog.csdn.net/wuerping/article/details/4164362 /* Author : Andrew.Wu [ Created on : 20 ...

  8. Windows下Apache 虚拟主机 VirtualHost 配置

    以下方式适合原生 Apache, XAMPP 和 WAMP 套件 1.修改Apache配置文件(httpd.conf),如下: # Virtual hostsInclude conf/extra/ht ...

  9. windows下apache服务器开启压缩和网页缓存

    找到配置文件:http.conf apache开启压缩 一.开启配置,去除下面代码前面的#号LoadModule deflate_module modules/mod_deflate.soLoadMo ...

随机推荐

  1. Linux查看硬盘型号

    Linux查看硬盘型号 -- :: 分类: 服务器与存储 请先确定服务器是否有配 RAID. 如果有RAID,请通过对应的RAID管理(监控)工具查看,例如LSI的MegaCli: # /opt/Me ...

  2. STL---vector(向量)

    1 基本操作 (1)头文件#include<vector>. (2)创建vector对象,vector<int> vec; (3)尾部插入数字:vec.push_back(a) ...

  3. Qt QThread 多线程使用

    一.继承QThread 使用方法 1.创建个继承QThread的类. #ifndef MYTHREAD_H #define MYTHREAD_H #include <QObject> #i ...

  4. python(pyqt)开发环境搭建

    eric+pyqt 安装(python开发工具) 更多 0 Python python Eric是一个开源的.跨平台的python&ruby集成开发环境,基于python和pyqt运行.eri ...

  5. Maven实现直接部署Web项目到Tomcat7(转)

    转载自:http://my.oschina.net/angel243/blog/178554 以前在项目中很少使用Maven,最近自己学习了一下maven,真的是非常强大的项目构建工具,对于依赖包的定 ...

  6. 更新补丁Bind

    1.查询补丁版本信息 (1) rpm -qa|grep bind (2) dig @localhost version.bind 2.下载安装 BIND最新漏洞和升级解决办法 现在有非常多的公司的都有 ...

  7. jQuery与JS的区别,以及jQuery的基础语法

    *在使用jQuery时,要在页面最上端加上 <script src="../jquery-1.11.2.min.js"></script> 看一下js与jQ ...

  8. 108. Convert Sorted Array to Binary Search Tree

    题目: Given an array where elements are sorted in ascending order, convert it to a height balanced BST ...

  9. Android笔记:管理所有活动

    以关闭所有活动为例 public class ActivityCollector { public static List<Activity> activities = new Array ...

  10. tableView设置首尾

    [self.tableView setTableHeaderView:view]; [self.tableView setTableFooterView:view];