Apache-2.2

Apache 將所有 URL 解析為預設值

  • May 31, 2014

我在基於 Debian 的發行版上使用 Apache 2.2。出於某種原因,所有 URL 都指向預設索引。沒有錯誤或任何東西。這意味著:example.domain.com 轉到 domain.com。“範例”可以是任何東西。在預設的 Vhost 文件(/etc/apache2/sites-available/default)中,我添加了:

伺服器名稱:www.domain.com

但它仍然保持這種奇怪的行為。請讓我知道如何啟用常見的預設行為。順便說一句,我沒有改變任何東西,這是自安裝以來。

更新:按照 SvW 的回答,我正在尋找一種方法來強制 Apache 不接受任何 URL,只接受那些指定為 VirtualHosts 的 URL。

主要的“問題”是您有一個萬用字元 DNS條目指向您的 Web 伺服器,否則您會從瀏覽器中收到“未知主機”錯誤。刪除它,這將停止(在條目的 TTL 過期後,最多 24 小時後)。

Apache 本身將始終使用第一個 vhost 定義來回答對其他 vhost 中未定義的主機名的請求。

任何與特定虛擬主機不匹配的請求都將由 Apache 發送到預設虛擬主機。

我推薦的解決方案是在所有“真實”虛擬主機之前創建一個預設虛擬主機。此預設虛擬主機不應與您的任何域匹配,並且應在每個請求上回复錯誤程式碼。我認為 404 將是這個虛擬主機的合適答案。

引用自:https://serverfault.com/questions/599894