標籤:
今天我們介紹的這個辦法,只需要簡單修改 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.com127.0.0.1 home.wpchina.com127.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 訪問根目錄CMSRewriteCond %{HTTP_HOST} ^www.wpchina.com$RewriteCond %{REQUEST_URI} !^/RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /$1RewriteCond %{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} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /home/$1RewriteCond %{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} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.*)$ /bbs/$1RewriteCond %{HTTP_HOST} ^bbs.wpchina.com$RewriteRule ^(/)?$ bbs/index.php [L]
第五步,在網站根目錄 /xampp/htdocs/www/wpchina.com 下建立 home, bbs 兩個子目錄。並在每個目錄下放一個 index.php 檔案,檔案內容為:
<?phpecho $_SERVER[‘SCRIPT_FILENAME‘];?>
這時候,你可以試試,分別訪問 wpchina.com, home.wpchina.com, bbs.wpchina.com ,就可以看到不同的訪問結果。 按照上面的辦法,以後如果要增加別的子網域名稱,只要重複第二步和第四步就可以了,不再需要重啟apache,影響到其他網站。 附註:本文所提到的配置子網域名稱的辦法,僅用於測試環境,未進行安全性測試,請勿直接用於生產環境。
轉載於http://wpchina.org
Windows下Apache伺服器中自動設定二級子網域名稱