301将子目录路径重定向到单个目录

时间:2014-10-01 17:33:18

标签: redirect

当我正在进行网站迁移时,我一直在努力解决301重定向问题,并希望得到一些帮助。

我打算将整个域名(www.oldsite.com)移至新域名(www.newsite.com)。我计划通过将DNSto点更改为新服务器来实现此目的。在新网站上,我尝试在.htaccess文件中设置301重定向,为任何不存在的网址提供目标。

大多数重定向都很好: 重定向301 / old-dir-1 / / new-dir-1 / ......工作正常。

但是,如果我还要重定向子目录:

重定向301 / old-dir-1 / subdir / / new-dir-1 /

......实际结果是:
www.newsite.com/new-dir-1/subdir

我不想通过子目录。

我已经尝试了大量的组合和教程以及重写规则,如:
RewriteRule ^ old-dir-1 /(.*)/ new-dir-1 / $ 1 [R = 301,L]

无数其他变化......任何想法?

1 个答案:

答案 0 :(得分:0)

如果有人遇到这样的问题,我就是这样解决的:

1)我确保没有应用程序逻辑与重定向冲突。在这种特殊情况下,WordPress还使用了一个需要禁用的重定向插件。

2)我修改了301条目中的行的顺序,将最具体的URL放在顶部,而不是特定的URL。

IE,首先: 重定向301 / old-dir-1 / subdir / / new-dir-1 / 然后... / old-dir-1 / / new-dir-1 /