5

这是有效和正确的吗?

RewriteRule ^myOldPage.html$ /index.php#info [R]

我对这#info部分特别感兴趣。

4

2 回答 2

6

是的。这是一个有效的 301 重定向(HTTP 标准允许提供任何有效的 URI 作为重定向)。

现在需要注意的是:并非所有搜索引擎都喜欢重定向。谷歌在处理锚标签方面做得非常出色(他们甚至对此拥有专利),而其他人会完全忽略它们。只要这不是问题,重定向在技术上是有效的。

更新:如果您在使用 mod_rewrite 时遇到问题,请尝试使用 NE(无转义)标志来防止 # 符号被编码:

RewriteRule ^myOldPage.html$ /index.php#info [R,NE]
于 2008-12-22T17:10:28.650 回答
0

虽然看起来正确,但我有一种奇怪的感觉,这行不通。

浏览器需要知道#anchor。服务器和 mod_rewrite 很可能会忽略它。

如果它不起作用,我想你可以做类似的事情..

RewriteRule ^myOldPage.html$ /index.php?info=true [R]

然后在php输出一段javascript做锚点跳转。

于 2008-12-22T17:02:35.717 回答