Windows下Apache服务器中自动配置二级子域名

咱们WPChina网站常常要在本地 Windows 操做系统中进行多项测试,所以也常常须要配置不少二级域名。按照普通的办法,咱们能够在 Apache 的 httpd-vhosts.conf 下逐个配置,可是这样会很是麻烦,也会使得配置文件很乱,同时每次配置完以后还须要重启 Apache 。所以我但愿可以 Apache 可以自动配置二级子域名。php

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

咱们这里以 wpchina.com 为例,如下代码中的 wpchina.com 均可以替换成你本身想要域名。服务器

咱们的目标是,不一样的子域名能够访问不一样目录下的网站:测试

wpchina.com => / ;网站

home.wpchina.com => /home;操作系统

bbs.wpchina.com => /bbs;路由

域名

第一步,确认安装好 Apache 服务器,并支持 .htaccess 模块(须要开启mod_rewrite)。你能够参考这里或这里,或者直接下载XAMPP,默认支持此功能。it

第二步,设置好二级域名。高级一点的能够在路由器里设置,如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 *:80 代码签名的 #

按照其中的样例,添加如下代码:

<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,影响到其余网站。

相关文章
相关标签/搜索