Apache-2.2
如何讓 Apache 不響應僅 IP 請求?
我有幾個網站,都設置了
http-vhosts.conf
各自的ServerName
網站DocumentRoot
,它們執行良好且花花公子。但是當我訪問伺服器的 IP 地址 URL 時,我會在第一個虛擬主機中取回文件,而不是 Apache 從我期望的位置提供
http.conf
文件的DocumentRoot
.如何配置 Apache,以便通過 IP 地址訪問伺服器,無論是外部還是環回,都不會返回第一個 VirtualHost?
這是第一個 VirtualHost,如果我通過 IP 訪問 Web 伺服器,我目前將其作為響應返回:
<VirtualHost *:80> ServerName "delaneatallent.com" ServerAlias "www.delaneatallent.com" DocumentRoot "/Library/WebServer/Documents/delanea" </VirtualHost>
- 如果重要的話,在 OS X 上使用 Apache 2.2.14。
- wq
簡而言之,你不能——這就是 Apache 的工作方式。如果您正在偵聽該 IP(根據 Prix 的評論),那麼 Apache 將使用在提供 IP 請求時定義的第一個虛擬主機。
如果這是不可取的,那麼考慮將第一個虛擬主機更改為您真正想要的(如果它是由 IP 提供的)。如果這不是你想要的,那麼考慮將重定向作為第一個虛擬主機,讓它去你想要的地方。
# default <VirtualHost *:80> RewriteEngine on RewriteRule ^/(.*) http://othersite.com/$1 [L,R] </VirtualHost>
你不能阻止 Apache 監聽那個 IP,但是你可以讓它做一些別的事情,用一點點創造力做你想做的事情。