.htaccess从一个子文件夹重定向到其他子文件夹

时间:2013-02-15 22:59:34

标签: .htaccess redirect

我知道这听起来像其他许多问题,但我似乎无法找到答案。

说你在:  www.domain.com/folderA/folder2/folder3 /

我希望将其重定向到:  www.domain.com/folderB/folder2/folder3 /

所以整个结构保持不变..它只是重定向。 到目前为止,我有:

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/folderA [NC]
RewriteRule ^(.*)$ /folderB/$1 [R=301,L]

但是当我使用它时,它就会这样做  www.domain.com/folderB/folderA/folder2/folder3 /

我做错了什么?如何摆脱该文件夹A?

1 个答案:

答案 0 :(得分:17)

模式^(.*)$还包含前缀folderA。您必须在模式中明确指定folderA,并仅在RewriteRule中捕获后一部分。然后你可以放弃RewriteCond

RewriteEngine on
RewriteRule ^/?folderA/(.*)$ /folderB/$1 [R,L]

永远不要在启用301的情况下进行测试,请参阅此回答Tips for debugging .htaccess rewrite rules了解详细信息。