[英]set up httpmodule to prevent 404's for certain pages
我目前正在开发.net c#Web应用程序。 我已经从网站上删除了几个.aspx(删除了它们),例如page1.aspx,page2.aspx等。
我现在想做的是创建一个http模块,当用户浏览器调用page1.aspx或page2.aspx时,而不是返回404状态代码,而是为已删除的页面返回适当的状态代码,并将用户重定向到主页,而不是错误页面。
实现此目的的最佳方法是什么,是否通过http模块实现,如果可以,我将进行设置吗?
如果只有几页,则可以使用Response.StatusCode = 410
和一个简单的window.location = basepage
保留它们。
如果它是一个动态列表,可能会变大,我会将其放在您的应用程序错误处理程序中:
protected void Application_Error(Object sender, EventArgs e)
{
if (/*requesting a deleted resource*/)
{
//return status 410 and a javascript redirect
}
}
我认为这是最好的方法。 实际上非常简单。 只需将其放入您的webconfig中即可。
<customErrors mode="On" defaultRedirect="~/TheDefaultErrorPage.aspx">
<error statusCode="404" redirect="The404ErrorPage.aspx"/>
</customErrors>
然后,如果需要,添加更多错误也很容易。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.