如何配置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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章