Iis

有趣的 IIS 奇怪的 404 文件存在,但僅適用於特定的主機頭

  • April 24, 2015

所以,我有一個有 2 個主機頭的網站:

header1.example.com
header2.example.com

在這個站點中,我有一個名為 Foo 的虛擬目錄,它有各種子目錄 1、2、3 和 4,它們有各種樣式表。頁面通過/Foo/1/Style.css和動態引用這些樣式表/Foo/2/Style.css

IE

http://header1.example.com/SomePageThatUsesFoo1Style.aspx
http://header1.example.com/SomePageThatUsesFoo2Style.aspx

當我去http://header1.example.com/SomePageThatUsesFoo2Style.aspx我得到一個 404 試圖得到/Foo/2/Style.css.

該文件絕對 100% 存在於正確的目錄中,並且權限正確。

有趣的部分。如果我去http://header1.example.com/SomePageThatUsesFoo1Style.aspx它工作就好了。另外,如果我去http://header2.SomePageThatUsesFoo2Style.aspx或者http://header2.example.com/SomePageThatUsesFoo1Style.aspx它工作得很好。

有沒有人見過這種奇怪的問題,其中 1 個特定的主機頭搞砸了?

我還要補充一點,只是為了咯咯笑,我從頭開始創建了一個全新的網站,帶有一個新的主機頭 ( header3.example.com),一切正常。我停止了舊站點,並將和添加header1header2新站點,並且發生了同樣的錯誤。

注意:我嘗試使用 Microsoft Network Monitor 3.4 來擷取數據包。我點擊了我的網站的幾個頁面,其中經歷了上述情況。對任何 HTTP 狀態程式碼 >= 400的擷取應用過濾器,但沒有結果。從我的桌面使用 Fiddler 訪問我的網站時,Fiddler 也顯示 404。

有什麼想法嗎?

通過在伺服器上執行數據包擷取來觀察實際的請求和響應,我很幸運地追踪了 404 錯誤。

在擷取中,您應該能夠看到生成 404 的實際請求和響應。我通常鍵入請求以查看請求的確切內容。當遇到 404 時,您應該能夠看到正在請求的實際 URL,然後您可以驗證該 URL 是否有效。

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