默认文档未尝试 iis 8.5 中的所有文件

All*_*lan 5 asp.net iis windows2012

我有一个网站,其默认设置为 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>
Run Code Online (Sandbox Code Playgroud)

当我浏览到没有文件名的 URL (mysite.com/Content/) 时,IIS 将只尝试 default.aspx,而不会尝试列表中的其他文件 (index.html)。IIS 尝试加载 default.aspx 并且我得到 404。奇怪的是该目录中没有 default.aspx 文件并且 index.html 确实存在。如果我直接浏览到 index.html,页面会正确显示。根据关于默认文档Microsoft 文档,它应该尝试列表中的下一个文件,直到找到存在的文件。

我显式地添加了一个 web.config 文件到子目录

<defaultDocument enabled="true">
  <files>
      <clear />
       <add value="index.html" />
   </files>
 </defaultDocument>
Run Code Online (Sandbox Code Playgroud)

并且 IIS 仍在尝试使用 default.aspx。有没有人遇到过这个?您对为什么这不能按文档工作有任何建议吗?

tgo*_*sch 3

  1. 尝试删除/禁用旧的 URL 重写模块?(暂时地)
  2. 如果您需要身份验证,请确保登录页面存在。

(从上面复制的其他建议,我已经包含在内,以防其他人读到这个问题)

  1. 检查源代码中是否有任何路由。
  2. 检查任何可能导致重定向或拦截调用的特殊模块或处理程序。