1. 程式人生 > >如何配置XAMPP的虛擬主機 【轉】

如何配置XAMPP的虛擬主機 【轉】

apache的虛擬主機配置在兩三年前就知道,但是因為太久竟然也忘記也一些規則。今天在給xampp配置虛擬主機的時候,被其內建的規則搞的有點暈。最後只能回頭再去閱讀一下apache文件才徹底搞清楚了。備忘一下。

首先xampp在httpd.conf裡面配置禁止遍歷整個檔案系統,對檔案系統的預設訪問被禁止,保護伺服器檔案。原來配置如下:

<Directory />
 Options FollowSymLinks
 AllowOverride None
 Order deny,allow
 Deny from all
</Directory>

 但是如果要讓虛擬主機能被訪問,有兩個解決辦法:一個是在全局裡將Deny from all改成Allow from all ,但是有沒發起到保護檔案的作用;另一個辦法是在虛擬主機裡面加程式碼,如下:

<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot D:projectseachbrand.com
 ServerName www.eachbrand.com
 ##能通過多個域名訪問
 #ServerAlias eachbrand.com *.eachbrand.com
 ErrorLog logs/www.eachbrand.com-error_log
 CustomLog logs/www.eachbrand.com-access_log common
 <Directory />
  AllowOverride All
  Order deny,allow
  Allow from all
 </Directory>
</VirtualHost>

基於域名的虛擬主機規則

  1.必須指定伺服器IP地址(和可能的埠)來使主機接受請求,這個可以用NameVirtualHost指令來進行配置。如果伺服器上所有的IP地址都會用到,你可以用"*"作為NameVirtualHost的引數。如果你打算使用多埠(如執行SSL)你必須在引數中指定一個埠號,比如"*:80"。

  2.為每個虛擬主機建立

  <VirtualHost>

  段

  <VirtualHost>

  的引數與NameVirtualHost的引數必須是一樣的(比如說,一個IP地址或"*"代表的所有地址)。在每個VirtualHost段中,至少要有一個ServerName指令來指定伺服哪個主機和一個DocumentRoot指令來說明這個主機的內容位於檔案系統的什麼地方。

  3.取消中心主機, 如果你想在現有的web伺服器上增加虛擬主機,你必須也為現存的主機建造一個

  <VirtualHost>

  定義塊。這個虛擬主機中ServerName和DocumentRoot所包含的內容應該與全域性的ServerName和DocumentRoot保持一致。還要把這個虛擬主機放在配置檔案的最前面,來讓它扮演預設主機的角色。

  示範程式碼:

NameVirtualHost *:80
## for mainhost
<VirtualHost *:80>
ServerName localhost:80
DocumentRoot "/xampp/htdocs"
</VirtualHost>
## for virtualhost
<VirtualHost *:80>
 ServerAdmin [email protected]
 DocumentRoot D:projectskakapo.cn
 ServerName www.kakapo.cn
 ##能通過多個域名訪問
 #ServerAlias kakapo.cn *.kakapo.cn
 ErrorLog logs/www.kakapo.cn-error_log
 CustomLog logs/www.kakapo.cn-access_log common
</VirtualHost>