.htaccess重定向 - 这是否适用于页面中的所有锚链接?

时间:2012-01-18 12:34:23

标签: wordpress .htaccess redirect anchor

我正在将大量内容从平面文件站点移植到Wordpress,并为每个页面重新定位.htaccess,如下所示:

redirect 301 /01-chapter1.html  http://www.mydomain.com/section1/chapter-1/

在此内容中,有许多锚链接定义如下:

<a name="106">Link 106</a>

我的问题是,上面的重定向是否也会处理这些锚链接,以便旧页面锚点:

http://www.mydomain.com/01-chapter1.html#106

被重定向到新页面锚点:

http://www.mydomain.com/section1/chapter-1/#106

希望它确实存在并且我不必为成千上万的锚实现单独的重定向:(

非常感谢您的建议。


ANSWER

我实现了我发布的原始重定向:

redirect 301 /01-chapter1.html  http://www.mydomain.com/section1/chapter-1/

测试了这个FF / IE / Chrome,无论出于什么原因,重定向似乎完全符合我的预期,没有任何其他参数。

外部链接:

http://www.mydomain.com/01-chapter1.html#106

完全重定向到页面锚链接:

http://www.mydomain.com/section-1/chapter-1/#106

感谢您提供了很好的建议,但到目前为止一直都很好!

1 个答案:

答案 0 :(得分:0)

可悲的是,它没有那样做。看看这篇博文: http://www.mikeduncan.com/named-anchors-are-not-sent/

您可以尝试使用JavaScript重定向客户端。

编辑:更多信息:

301 Redirect Cheatsheet显示了许多重定向选项。与从Can you write a 301 redirect to an anchor point?收集的信息结合使用时,意味着我们可以编写如下内容:

RewriteRule ^01-chapter1.html(#.+)?$ /section1/chapter-1/$1 [R=301,NE]

虽然不太确定正则表达式的语法,但可能还需要其他东西。