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,影響到其餘網站。

相關文章
相關標籤/搜索