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

a2mppw5e  于 2023-01-26  发布在  其他
关注(0)|答案(4)|浏览(152)

我有一个网站的默认设置为默认文档在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将仅尝试默认的.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。以前有人遇到过这种情况吗?对于为什么这种情况不像文档中描述的那样工作,您有什么建议吗?

ffscu2ro

ffscu2ro1#

1.尝试删除/禁用旧的URL重写模块?(临时)
1.如果需要身份验证,请确保登录页面存在。
(从上面抄来的其他建议,我已经包括在内,以防其他人读到这个问题)
1.检查源代码中的任何路由。
1.检查任何可能导致重定向或拦截调用的特殊模块或处理程序。

p4rjhz4m

p4rjhz4m2#

使默认文档指令工作的一种方法是:转到IIS/应用程序池将“托管管道模式”更改为经典模式而不是集成模式。这对我有效。

ut6juiuv

ut6juiuv3#

如果禁用默认文档但启用了目录浏览,则当从浏览器收到对根目录的请求时,IIS将返回目录列表。如果同时禁用默认文档和目录浏览,则IIS将向浏览器发送“HTTP 404文件不存在”错误。
所以请在IIS中启用默认文档选项并重置IIS。

s1ag04yj

s1ag04yj4#

如果你想使用index.html作为默认页面,你需要点击iis默认网站,然后你可以点击默认文档,现在你可以添加索引作为默认页面。

相关问题