2015-05-04 50 views
4

我有一个网站,其中包含IIS 8.5 Windows 2012 R2上默认文档的默认设置。默认文档不尝试iis 8.5中的所有文件

<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。有没有人遇到过这个?你有什么建议,为什么这不按记录工作?

+0

您是否在重置设置后尝试重置IIS? –

+1

你有没有设置路由? – Ewan

+1

是否安装了任何特殊模块/处理程序? – haim770

回答

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

(其他建议从上面复制,这我已经包括,万一有人 其他读取这个问题)

  • 检查在源代码中的任何路由。
  • 检查可能导致重定向或拦截调用的任何特殊模块或处理程序。
  • +0

    如果你想使用index.html作为默认页面。您需要点击iis网站并点击默认文档,将index.html添加为您的默认文档。 –

    -1

    如果您禁用默认文档但已启用目录浏览,则IIS在从浏览器到达根目录的请求时返回目录列表。如果禁用默认文档和目录浏览,则IIS向浏览器发送“HTTP 404文件不存在”错误。

    因此,请在IIS中启用默认文档选项并重置IIS。

    -1

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

    +0

    正如您从原始问题中发布的配置示例中所见, – Allan

    0

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