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/
您可以在旧地址上创建一个页面,捕获所有请求并使用正确的地址和代码重定向到新站点。
我做了类似的事情,但它是在 asp.net 中,我猜这不是你使用的语言。无论如何,应该有一种方法可以用任何语言来做到这一点。