默认文档不尝试 iis 8.5 中的所有文件
Default Document not trying all files in iis 8.5
我有一个网站,其默认文档在 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 returns 会在浏览器发出对根目录的请求时列出目录。如果禁用默认文档和目录浏览,IIS 将向浏览器发送 "HTTP 404 File Does Not Exist" 错误。
因此请在 IIS 中启用默认文档选项并重置 IIS。
- 尝试removing/disabling旧的URL重写模块? (暂时)
- 如果您需要身份验证,请确保登录页面存在。
(从上面复制的其他建议,我已经包括在内,以防有人
否则阅读这个问题)
- 检查源代码中的任何路由。
- 检查任何可能导致重定向或拦截调用的特殊模块或处理程序。
如果您想使用 index.html 作为默认页面。你需要点击iis default website 之后你可以点击default document。现在!您可以添加索引作为默认页面。
使默认文档指令起作用的一种方法是:
转到 IIS/Application 个池
将“托管管道模式”更改为经典模式而不是集成模式。
这对我有用。
我有一个网站,其默认文档在 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 returns 会在浏览器发出对根目录的请求时列出目录。如果禁用默认文档和目录浏览,IIS 将向浏览器发送 "HTTP 404 File Does Not Exist" 错误。
因此请在 IIS 中启用默认文档选项并重置 IIS。
- 尝试removing/disabling旧的URL重写模块? (暂时)
- 如果您需要身份验证,请确保登录页面存在。
(从上面复制的其他建议,我已经包括在内,以防有人 否则阅读这个问题)
- 检查源代码中的任何路由。
- 检查任何可能导致重定向或拦截调用的特殊模块或处理程序。
如果您想使用 index.html 作为默认页面。你需要点击iis default website 之后你可以点击default document。现在!您可以添加索引作为默认页面。
使默认文档指令起作用的一种方法是: 转到 IIS/Application 个池 将“托管管道模式”更改为经典模式而不是集成模式。 这对我有用。