Apache-2.2
httpd - 虛擬主機去同一個網站
這是我的 /etc/httpd/conf.d/test.conf
NameVirtualHost *:80 <VirtualHost *:80> ServerName test.dev ServerAlias test.dev.*.xip.io DocumentRoot /var/www/html/user/test/web ErrorLog "/var/www/html/user/test/app/logs/httpd_error.log" CustomLog "/var/www/html/user/test/app/logs/httpd_access.log" combined <Directory "/var/www/html/user/test/web"> # AllowOverride All # Deprecated # Order Allow,Deny # Deprecated # Options All # Allow from all # Deprecated # Require all granted # << New way of doing it Options +FollowSymlinks +Indexes AllowOverride all </Directory> </VirtualHost>
我該如何配置它,所以當我嘗試訪問test.dev.192.168.1.4.xip.io時,我最終會進入我正在編碼的頁面,而訪問192.168.1.4.xip.io將顯示首頁。
我目前正在使用在帶有網路橋接適配器的虛擬盒子中執行的 centos 6。這是我的 /etc/httpd/conf/httpd.conf。
如果您只定義一個虛擬主機,那麼對 httpd 的所有請求都將由該虛擬主機提供服務,無論它們是否匹配 ServerName 或 ServerAlias,因為第一個虛擬主機也是預設虛擬主機。在 Apache “基於名稱的虛擬主機支持”文件中搜尋“預設虛擬主機” 。
另請注意,一旦您定義了任何虛擬主機,預設的 ServerName 就會消失,如果您仍想使用它,您必須定義一個新的虛擬主機來重新創建它。請參閱上面連結中的插圖“主要主機消失”。
所以,試著定義一個預設的虛擬主機,它可以很簡單
<VirtualHost *:80> DocumentRoot /var/www/html </VirtualHost>
並確保它出現在配置中的所有其他虛擬主機之前。然後,任何與其他虛擬主機不匹配的請求都將由該虛擬主機提供服務。