![]() |
1
3
如果找不到页面,我假设您看到的是通用.NET? 解决方案如下。注意为路径添加了~:
更新: 虽然您的解决方案可行,但它有点老套——特别是在大型应用程序或其他经验更丰富的开发人员中,您使用会话状态的方式将不受欢迎。我建议将500和404错误分为不同的页面。 如果您的网站可以通过网络访问,那么向真正的用户显示不同的错误消息是很有用的,例如,如果他们正在寻找的页面已丢失(404)或存在一些暂时性问题(500),以后再查看可能是个好主意。每一页的错误文本都应该相应地反映这一点。向搜索引擎报告适当的状态代码也很重要,以指示某个页面是否不再可用,即该页面已从项目中删除,应从搜索引擎索引中删除,或者如果存在错误,搜索引擎应返回以对该页面进行爬网。稍后,不要从索引中删除。如果不正确报告这些状态代码,则可能会通过搜索引擎降低Web应用程序的性能。通常我的web.config如下所示:
注意:由于最近在.NET框架中发现了一个安全漏洞,因此设置“defaultredirect”属性非常重要(请咨询Google)。设置这是一个解决方法来堵塞孔。 要向客户端(和搜索引擎bot)报告正确的HTTP状态代码,可以使用以下代码。只需将它们放在相关页面的页面加载事件中: 对于500个错误:
对于404错误:
现在,您可以从global.asax中删除代码,并为您的错误电子邮件逻辑创建一个可从每个页面调用的共享函数。如果您愿意,可以将上述代码合并到您现有的错误页中,但是我总是喜欢在发现更整洁时将它们分开。 如果您想测试页面的HTTP状态代码,我建议您查看一个名为 Fiddler |