【发布时间】:2015-05-04 13:56:57
【问题描述】:
我有一个网站,其中包含 IIS 8.5 Windows 2012 R2 上默认文档的默认设置。
<system.webServer>
<defaultDocument enabled="true">
<files>
<add value="Default.aspx" />
<add value="Default.htm" />
<add value="Default.asp" />
<add value="index.htm" />
<add value="index.html" />
<add value="iisstart.htm" />
</files>
</defaultDocument>
</system.webServer>
当我浏览到一个没有文件名的 URL (mysite.com/Content/) 时,IIS 将只尝试 default.aspx 而不会尝试列表中的其他文件 (index.html)。 IIS 尝试加载 default.aspx,我得到一个 404。奇怪的是该目录中没有 default.aspx 文件,并且 index.html 确实存在。如果我直接浏览到 index.html 页面会正确显示。根据Microsoft documentation on default document,它应该尝试列表中的下一个文件,直到找到存在的文件。
我用
明确地将 web.config 文件添加到子目录<defaultDocument enabled="true">
<files>
<clear />
<add value="index.html" />
</files>
</defaultDocument>
而 IIS 仍在尝试使用 default.aspx。有没有人遇到过这个?您对为什么这不按记录工作有任何建议吗?
【问题讨论】:
-
您是否在重置设置后尝试重置 IIS?
-
你有设置路由吗?
-
是否安装了任何特殊的模块/处理程序?
-
可能是权限问题?允许/禁止的扩展问题? ASP.NET 否决了您的设置?
-
是的 - 进行了 IIs 重置。未设置路由 - 使用一条规则安装旧的 URL 重写模块(无相关)。
标签: asp.net iis windows2012