繁体   English   中英

如何处理404错误

[英]How to handle 404 errors

如何处理所有 404错误?

如果我转到一个不存在的页面

示例: http//www.example.com/Idontexist.aspx

它工作正常..

但是, http://www.example.com/Nothere.nopehttp://www.example.com/NotHere给出了404.0错误,我认为它是由于.nope没有在IIS中注册,但是会有办法在web.config或代码中处理这个?

这可能是因为notthere.nope没有通过.NET。 根据IIS的版本和配置,ASP.NET仅用于执行具有特定扩展的请求。

理想情况下,您应该尝试在IIS级别处理404 - 没有必要让它在应用程序堆栈中冒出来。 这是我的建议。

如果你真的想ASP.NET能够处理这个问题,你可以,如果你使用的是IIS 7上有一个很好的写了这里

如果使用的是IIS 6,您可以使用通配符映射为这里所描述的ISAPI扩展在这里

您可以,但必须在服务器级别执行此操作。 根据您的网络服务器和/或IIS版本的你如何做到这一点,需要付出可以说是相当不同的。 不幸的是,我不能给你一个:“去做这个”答案,你可能需要随着时间的推移和服务器平台的发展进行修改。

都。 最简单的方法是安装http://www.iis.net/download/urlrewrite并将其配置为重定向。 假设您想要各种“有趣”的URL,那将是最简单的。 web.config部分看起来像这样:

    <system.webServer>
      <rewrite>
        <rules>
          <rule name="My404" stopProcessing="true">
            <match url="^/Nothere\.nope" />
            <action type="Rewrite" url="/NotHere" />
          </rule>
        </rules>
      </rewrite>
    </system.webServer>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM