使用响应标头进行 301 重定向无法正确重定向

发布于 2024-12-01 05:58:39 字数 520 浏览 2 评论 0原文

我正在尝试实现 301 重定向,以实现 url 重写/SEO 优化。我正在 VB.NET 网站的模块内执行这些重定向。

当我在标头中指定新位置时,它总是将新位置附加到现有 url 上,而不是完全替换它或使用相对路径。因此,我得到的不是一个漂亮的 URL,而是两者的组合:

http://site.com/productList.aspx?id=123&fid=123&mid=123http://site.com/store/books/

这是我用于重定向的代码:

httpContext.Response.Status = "301 Moved Permanently"
httpContext.Response.AddHeader("Location", "http://site.com/store/books")
httpContext.Response.End()

我尝试使用相对 ~/ 路径,但没有成功。我猜我做错了,这很简单。请帮忙!提前致谢。

I'm attempting to implement a 301 redirect for purposes of url rewriting/SEO optimization. I'm performing these redirects within a module of my VB.NET website.

When I specify a new location in the header it always appends the new location onto the existing url instead of completely replacing it or using a relative path. So instead of a nice URL I get a combination of both:

http://site.com/productList.aspx?id=123&fid=123&mid=123http://site.com/store/books/

Here is the code that I'm using for the redirect:

httpContext.Response.Status = "301 Moved Permanently"
httpContext.Response.AddHeader("Location", "http://site.com/store/books")
httpContext.Response.End()

I've attempted to use relative ~/ paths with no success. I'm guessing that I'm doing wrong that is very simple. Please help! Thanks in advance.

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

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

发布评论

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

评论(2

简单爱 2024-12-08 05:58:39

您是否尝试在 ASP.NET 已经开始填充响应缓冲区后执行此操作?首先尝试调用 Response.Clear()。

Are you trying to do this after ASP.NET has already started filling the response buffer? Try calling Response.Clear() first.

沫离伤花 2024-12-08 05:58:39

您发布的代码对我来说效果很好。

您可以尝试使用 RedirectPermanent 方法。

The code you posted worked fine for me.

You can try to use the RedirectPermanent method.

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