htaccess重写不能超越第一个目录

时间:2013-11-20 12:40:55

标签: .htaccess mod-rewrite redirect

我不得不在wordpress网站上更改页面的名称。在url结构中,页面有许多子页面,如下所示:

www.mysite.com/folder1/plus whatever else may come here

基本上我想做一个通配符重定向,其中匹配URL的folder1部分的任何URL被捕获并重定向到以下内容:

www.mysite.com/newfolder1/folder2/

以下重定向适用于上述情况

RewriteRule ^folder1/?(.*) http://www.mysite.com/newfolder1/$1 [R=301,L]

但是失败并给出了以下

的404
www.mysite.com/folder1/folder2/folder3

它不会重定向超出folder2深度。这是为什么?

1 个答案:

答案 0 :(得分:1)

跟进评论:

问题听起来像.htaccess文件(或您所说的规则)位于错误的位置。

As far as my understanding goes,Apache从“顶部”向下读取所有.htaccess个文件(以及其他重定向的服务器配置) - 即处理子文件夹中的.htaccess个文件在根文件夹中 .htaccess个文件之后。