我如何对特定请求强制执行404错误?
我不希望从网站中排除该页面。
但是,如果用户请求以下两个文件,我将始终返回404错误页面NotFound.aspx
/site/employee/pensionplan.aspx
/site/employee/pensiondoc.pdf
我被告知not to use the web.config for 404 error configuration, due to some security issues
。我不确定究竟是什么问题
<!-- Turn on Custom Errors -->
<customErrors mode="On"
defaultRedirect="DefaultRedirectErrorPage.aspx">
<error statusCode="404" redirect="Http404ErrorPage.aspx"/>
</customErrors>
在尝试访问特定资源时,将用户重定向到Not Found
页面的最佳方法是什么?
答案 0 :(得分:0)
为了方便起见,请将其放入Http404ErrorPage.aspx
代码隐藏:
protected void Page_Load(object sender, EventArgs e)
{
Response.StatusCode = 404;
}
在你的web.config中有这个:
<location path="site/employee/pensionplan.aspx">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.website.com/Http404ErrorPage.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
<location path="site/employee/pensiondoc.pdf">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.website.com/Http404ErrorPage.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
更强大的解决方案是使用HttpHandler
作为MikeSmithDev推荐的方式,这样就可以控制用户是否为404。