浏览到主页生成 404 错误

Browsing to home page generates 404 error

我将在 VS Express for Web 2013 中运行的 ASP.NET 应用程序部署到新创建的服务器(Windows Server 2008 R2,IIS 7.5)。 浏览到主页会生成 404 错误。详细错误信息:

模块:IIS Web 核心
通知:MapRequestHandler
处理程序:静态文件
错误代码:0x80070002
要求URL:http://example.com/Account/Login?ReturnUrl=%2Fdefault.aspx
物理路径:C:\example\Account\Login
登录方式:匿名
登录用户:匿名

当然,物理路径C:\example\Account\Login不存在;它真的是 c:\example\Account\Login.aspx.

我猜问题是处理程序是 StaticFile,但我该如何解决它?

检查请求 url,它没有 .aspx 扩展

Requested URL: http://example.com/Account/Login?ReturnUrl=%2Fdefault.aspx

它似乎重定向到登录页面,也许您的登录页面 web.config 中的值有误,它必须是 login.aspx,而不是登录

它使用静态文件处理程序,因为没有 aspx 扩展名。

更新

将 login.aspx 放在根目录中。 将 web.config 调整为如下所示:

你拥有的是

<location path="Account/Login">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>

它应该是这样的

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="Logon.aspx" name=".ASPXFORMSAUTH">
    </forms>
  </authentication>
<authorization></authorization>
</system.web>

这里有一个 link 可能会对您有所帮助: Forms Authentication

我最初的猜测是正确的。需要一个修补程序才能在 IIS 7.5 中启用对无扩展名 URL 的支持。有关详细信息,请参阅位于 https://support.microsoft.com/en-us/kb/980368 的 Microsoft 知识库文章。