重定向至特定资源的 404 页面

本文关键字:页面 资源 重定向 | 更新日期: 2023-09-27 18:35:22

我如何为特定请求强制 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页面的最佳方法是什么?

重定向至特定资源的 404 页面

为了方便起见,请将其放在您的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>

一个更强大的解决方案是使用MikeSmithDev推荐的HttpHandler,这样您就可以控制用户是否为404。