2013-02-15 129 views
9

我知道这听起来像很多其他问题,但我似乎无法找到答案。.htaccess从一个子文件夹重定向到其他子文件夹

说你现在的位置: 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/

我在做什么错?我如何摆脱那个folderA?

回答

12

图案^(.*)$也包括前缀folderA。您必须在模式中明确指定folderA,并在RewriteRule中仅捕获后一部分。然后,你可以删除的RewriteCond

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

决不会启用301测试,详见这个答案Tips for debugging .htaccess rewrite rules

相关问题