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

时间:2016-11-22 13:52:24

标签: php apache .htaccess redirect mod-rewrite

在我的.htaccess中,我想将所有流量从http://mywebsite.com/oldfolder重定向到http://mywebsite.com/newfolder/#/something/

这应该包括文件夹部分之后的任何url部分。例如http://mywebsite.com/oldfolder/abchttp://mywebsite.com/newfolder/#/something/abc

我尝试使用此

RedirectMatch 301 /oldfolder/(.*) /newfolder/#/something/$1

这种作品,但现在我的其他一些道路并没有作为“旧文件夹”工作。发生是一个子文件夹的名称。例如http://mywebsite.com/someotherfolder/oldfolder/something
规则似乎也试图重定向,但我希望它被忽略。我只希望它重定向,如果旧文件夹'是一个根文件夹。

我需要对此规则进行哪些更改才能生效?

1 个答案:

答案 0 :(得分:0)

您可以使用此mod_rewrite规则而不是网站根目录中显示的规则.htaccess:

RewriteEngine On

RewriteRule ^oldfolder/(.*)$ /newfolder/#/something/$1 [L,NC,NE,R=301]
  • ^将确保oldfolder/仅在root用户匹配。
  • NE标记将在重定向的网址中对#进行编码。

确保在测试之前清除浏览器缓存。