如何在 asp.net 中使用 301 重定向
Posted
技术标签:
【中文标题】如何在 asp.net 中使用 301 重定向【英文标题】:How to use 301 redirect in asp.net 【发布时间】:2020-01-24 14:18:18 【问题描述】:我想在我的网站中使用 301 重定向。我尝试将“http://localhost:54996/AboutUs.aspx”重定向到“http://localhost:54996/About”。 我在页面加载中使用此代码:
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "http://localhost:54996/About");
或此代码:
protected void Application_BeginRequest(object sender, EventArgs e)
if (Request.FilePath == "/AboutUs.aspx")
Response.RedirectPermanent("/About", true);
但是这些解决方案都不起作用。当我输入我的地址(http://localhost:54996/AboutUs.aspx)时,我会转到这个地址:“about/”
我的错误在哪里?
【问题讨论】:
【参考方案1】:重定向 301 或 302 是正确的响应代码,网络爬虫使用它来判断页面是否临时或永久移动了位置。
我认为您想要的是 url 重写,而不是 重定向。
一个很好的方法是在 IIS 中进行所有重定向,在管道的早期,在它遇到Application_BeginRequest
事件之前:
https://www.iis.net/downloads/microsoft/url-rewrite
使用代码,指定的 URL 必须是绝对 URL,否则它将尝试重定向到您的应用程序中。
Response.RedirectPermanent(<URL> + "/About..
【讨论】:
以上是关于如何在 asp.net 中使用 301 重定向的主要内容,如果未能解决你的问题,请参考以下文章