1. 程式人生 > >Xampp配置多站點及根目錄

Xampp配置多站點及根目錄

1、首先修改C盤WINDOWS\system32\drivers\etc目錄下的 hosts 檔案,用記事本開啟,加入:

(是在檔案的未尾加入)
127.0.0.1 www.a.com
127.0.0.1 www.b.com

2、開啟xampp\apache\conf\httpd.conf檔案,搜尋 “Include conf/extra/httpd-vhosts.conf”,確保前面沒有 # 註釋符,也就是確保引入了 vhosts 虛擬主機配置檔案。

開啟了httpd-vhosts.conf,預設的httpd.conf預設配置失效(確保 httpd-vhosts.conf 檔案裡也開啟了虛擬主機配置,見第3條),訪問此IP的域名將全部指向 vhosts.conf 中的第一個虛擬主機

。(注意是第一個,詳見第4)

3、在虛擬主機設定檔案xampp\apache\conf\extra\httpd-vhosts.conf裡設定:
取消 NameVirtualHost *:80 前面的 ##,這樣就啟用了 vhosts.conf ,預設的httpd.conf預設配置失效。虛擬主機配置將只設置在 httpd-vhosts.conf 裡。
<VirtualHost *:80>
 DocumentRoot "D:/git-project/jquery"
ServerName www.a.com
</VirtualHost>

<VirtualHost *:80>
 DocumentRoot "D:/git-project/jquery"
ServerName 

</VirtualHost>

4、 設定完了第3條之後,你會發現訪問 localhost直接指向到設定的 a 那個路徑去了,這個問題在第2條有講。也就是開啟了 vhosts後,預設的 httpd 的配置就會失效了,預設的訪問就指向到 vhosts 裡的第一條設定去了。這時候你要把 localhost的目錄配置給設定回來。
<VirtualHost *:80>
 DocumentRoot "D:/git-project/jquery"
ServerName localhost
</VirtualHost>

至此,XAMPP 的虛擬主機設定完畢,現在 訪問 localhost 還是原來的 XAMPP 的幫助指南,訪問 

www.a.com 將指向到繫結的 a 目錄,訪問 www.b.com 將指向到繫結的 b 目錄。

----沒有許可權訪問-----

在 AllowOverride 設定為 None 時, .htaccess 檔案將被完全忽略。當此指令設定為 All 時,所有具有 ".htaccess" 作用域的指令都允許出現在 .htaccess 檔案中。

而對於 URL rewrite 來說,至少需要把目錄設定為

複製程式碼 程式碼如下:
< Directory /myblogroot/>
AllowOverride FileInfo
< /Directory>


2.在要支援url rewirte的目錄啟用 Options FollowSymLinks和AllowOverride All

複製程式碼 程式碼如下:
Alias /php "c:/web/php/"
<Directory "c:/web/php/">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>


這樣通過http://localhost:8080/php/訪問時,/php/和其下面的子目錄將支援url rewrite

----根目錄設定-----

第一,開啟httpd.conf檔案。這個檔案在XAMPP安裝目錄下面的“apache\conf”資料夾中。(我本人的httpd.conf檔案目錄在:D:\xampp\apache\conf)

第二,修改程式碼。在httpd.conf檔案中,找到如下兩行程式碼,並進行修改。(我本人網站原始根目錄為:D:\xampp\htdocs)


DocumentRoot "D:/xampp/htdocs"

<Directory "D:/xampp/htdocs">

將兩個目錄更改為你所希望的目錄即可,如我修改如下:(D:/WEB為我現在新的網址根目錄)

DocumentRoot "D:/WEB"

<Directory "D:/WEB">

第三,重啟Apacher。將網站檔案拷貝到新的網站目錄,重啟Apache,OK了。