使用散列部分重定向301(锚点)#

21 url hash redirect url-rewriting

我们的一个网站有网址是这样的:example.oursite.com.我们决定使用这样的网址移动我们的网站www.oursite.com/example.为此,我们在Apache服务器中编写了一个重写规则,该规则使用代码301重定向到我们的新URL.

许多网站通过表单的URL链接到我们example.oursite.com/#id=23.问题是重定向用IE删除URL的哈希部分.据我所知,哈希部分永远不会发送到服务器.

我想用javascript实现重定向以保留散列部分,但搜索引擎不会意识到我们的URL已更改.(没有返回代码301)

我希望搜索引擎收到新网址的通知(301),因为我们需要将网页排名转移到新网址.

有没有办法用301代码重定向并保留#id=23URL中的散列部分()?

Eri*_*ale 14

搜索引擎实际上关心哈希标签,他们经常使用它们来突出显示页面上的特定内容.

但是,对于这个问题,遗憾的是,锚点位置不会作为HTTP请求的一部分发送到服务器.如果要重定向用户,则需要在客户端的Javascript中执行此操作.

好文章:http://web.archive.org/web/20090508005814/http : //www.mikeduncan.com/named-anchors-are-not-sent/


rsl*_*ite 1

您可以在旧地址上创建一个页面,捕获所有请求并使用正确的地址和代码重定向到新站点。

我做了类似的事情,但它是在 asp.net 中,我猜这不是你使用的语言。无论如何,应该有一种方法可以用任何语言来做到这一点。