1

我将一些静态 html 文件/url 重定向到一些新的 url,如下所示:

Redirect 301 / http://newsite.com
Redirect 301 /pageA.html http://newsite.com/subfolder/page-a/
Redirect 301 /pageA-B.html http://newsite.com/subfolder/page-a/page-b/

但是,生成的 url 看起来像这样:

http://newsite.com/subfolder/pageA-B.html/

代替

http://newsite.com/subfolder/page-a/page-b/

为什么我的 url 重定向会沿旧路径传递?

4

1 回答 1

5

事实证明,这只是一个优先顺序。似乎第一条规则:

Redirect 301 / http://newsite.com

立即变成一个包罗万象。相反,需要颠倒顺序:

Redirect 301 /pageA-B.html http://newsite.com/subfolder/page-a/page-b/
Redirect 301 /pageA.html http://newsite.com/subfolder/page-a/
Redirect 301 / http://newsite.com

从我收集到的信息来看,我最初的方式是,任何离开根目录的路径都会自动匹配根目录,因为它本质上是作为参数传递旧 url。但是通过颠倒顺序,这是一个更明确的匹配,然后优先,因为它位于它试图匹配的 url 列表的顶部。

不确定我是否正确地解释了这个逻辑/操作顺序,但这是我能在凌晨 4 点总结这个功能的最好方法 =)

于 2013-10-09T08:24:52.773 回答