【发布时间】:2010-09-28 01:17:04
【问题描述】:
这是有效和正确的吗?
RewriteRule ^myOldPage.html$ /index.php#info [R]
我对@987654322@ 部分特别感兴趣。
【问题讨论】:
标签: apache mod-rewrite http-headers
这是有效和正确的吗?
RewriteRule ^myOldPage.html$ /index.php#info [R]
我对@987654322@ 部分特别感兴趣。
【问题讨论】:
标签: apache mod-rewrite http-headers
是的。这是一个有效的 301 重定向(HTTP standard 允许提供任何有效的 URI 作为重定向)。
现在需要注意的是:并非所有搜索引擎都喜欢重定向。谷歌在处理锚标签方面做得非常出色(他们甚至有一个patent on this),而其他人会完全忽略它们。只要这不是问题,重定向在技术上是有效的。
更新:如果您在使用 mod_rewrite 时遇到问题,请尝试使用 NE(无转义)标志来防止 # 符号被编码:
RewriteRule ^myOldPage.html$ /index.php#info [R,NE]
【讨论】:
虽然看起来正确,但我有一种奇怪的感觉,这行不通。
浏览器需要知道#anchor。服务器和 mod_rewrite 可能会忽略它。
如果它不起作用,我猜你可以做类似的事情..
RewriteRule ^myOldPage.html$ /index.php?info=true [R]
然后在php输出一段javascript做锚点跳转。
【讨论】: