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

Posted

技术标签:

【中文标题】.htaccess 从一个子文件夹重定向到另一个子文件夹【英文标题】:.htaccess redirect from one subfolder to other subfolder 【发布时间】:2013-02-01 00:34:12 【问题描述】:

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

假设你在: 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】:

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

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

切勿在启用301 的情况下进行测试,有关详细信息,请参阅此答案Tips for debugging .htaccess rewrite rules。

【讨论】:

以上是关于.htaccess 从一个子文件夹重定向到另一个子文件夹的主要内容,如果未能解决你的问题,请参考以下文章

从一种控制器方法重定向到另一种控制器方法

从一种方法重定向到另一种方法

在我的 laravel 4 和 angularjs 应用程序中从一条路线重定向到另一条路线

1个htaccess,2个域名,重写到另一个域名

放置在子文件夹中时,错误文档在 .htaccess 中重定向

在 nginx 中重定向 url 时遇到问题