有趣的是,IIS 奇怪的 404 文件存在,但仅限于特定的主机头

有趣的是,IIS 奇怪的 404 文件存在,但仅限于特定的主机头

因此,我有一个具有 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。

有什么想法吗?

答案1

通过在服务器上运行数据包捕获来观察实际的请求和响应,我很幸运地追踪了 404 错误。

在捕获中,您应该能够看到生成 404 的实际请求和响应。我通常会键入请求以查看请求的具体内容。当遇到 404 时,您应该能够看到请求的实际 URL,然后您可以验证该 URL 是否有效。

相关内容