如何将 404(错误网址)重定向到主页

发布于 2024-10-18 09:45:11 字数 202 浏览 4 评论 0原文

我正在使用 asp.net,当我手动输入错误的 url(在浏览器中)时,它会显示:

找不到资源。 描述:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请检查以下 URL 并确保拼写正确。

我想要将不存在的错误网址重定向到主页。

我该怎么做?我正在使用站点地图。

I am using asp.net and when I type a bad url manually(in the browser) it gives me:

The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

I want a bad url that doesn't exist to be re-directed to the home page.

How do I do this? I am using sitemap.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

情释 2024-10-25 09:45:11

如果您无意让用户知道,他们就会被重定向。然后,您可以打开自定义错误并执行如下操作:

<configuration>
  <system.web>
    <customErrors defaultRedirect="default.aspx" mode="On">
      <error statusCode="404" redirect="default.aspx"/>
    </customErrors>
  </system.web>
</configuration>

If you have no intentions of letting the users know, they are being redirected. Then, you could just turn custom errors on and do something like this:

<configuration>
  <system.web>
    <customErrors defaultRedirect="default.aspx" mode="On">
      <error statusCode="404" redirect="default.aspx"/>
    </customErrors>
  </system.web>
</configuration>
哆啦不做梦 2024-10-25 09:45:11

正如其他人已经回答的那样,web.config 是一种方法。

另一种是捕获未处理的异常 从您的应用程序中。这使您可以更好地控制重定向。

protected void Application_Error(object sender, EventArgs e)
{
    HttpException httpException = Server.GetLastError() as HttpException;
    if (httpException.GetHttpCode() == 404)
       Response.Redirect("/MainPage.aspx");
}

请记住,如果您创建自己的 404 页面,您必须:

  • 手动将 404 代码添加到响应中。
  • 请将回复正文保持在 512 字节以上,否则浏览器将显示其默认错误消息。

As others have already answered, web.config is one way to go.

The other is to catch unhandled exceptions from within your application. This gives you more control of the redirect.

protected void Application_Error(object sender, EventArgs e)
{
    HttpException httpException = Server.GetLastError() as HttpException;
    if (httpException.GetHttpCode() == 404)
       Response.Redirect("/MainPage.aspx");
}

Remember that if you create your own 404-page you must:

  • Add 404-code to the Response manually.
  • Keep the reply body above 512 bytes or the browser will show its default error message instead.
ˇ宁静的妩媚 2024-10-25 09:45:11

将此部分添加到您的 web.config

<customErrors mode="On" defaultRedirect="{yourDefaultErrorPage}">
    <error statusCode="404" redirect="{yourhomePage}"/>
</customErrors>

中:customErrors 元素MSDN

Add this section to your web.config:

<customErrors mode="On" defaultRedirect="{yourDefaultErrorPage}">
    <error statusCode="404" redirect="{yourhomePage}"/>
</customErrors>

customErrors Element on MSDN.

春风十里 2024-10-25 09:45:11

如果可以的话,尝试将 404 页面永久重定向到类似的 URL。

因此,不要对您网站上的类似 URL 进行 301 响应,而不是 404 响应。最佳 SEO 明智

If you can, try have your 404 pages permanent redirect to a similar URL.

So instead of 404 response, make a 301 response to a similar URL on your site. Best SEO wise

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文