Htaccess重定向始终保持旧路径

时间:2018-06-07 18:08:01

标签: .htaccess redirect path rule

我想使用htaccess规则进行重定向,以指向

中的所有链接
  

mywebsite.com/subfolder1/subfolder2 / ...无论路径....

  

mywebsite.com/subfolder1

但问题是,无论我使用什么规则,它总是将旧路径保留在目标链接中,例如:

  

mywebsite.com/subfolder1/subfolder2/mypage.php

变为

  

mywebsite.com/subfolder1/mypage.php

我尝试了以下所有可能性:

RewriteRule (.*) https://mywebsite.com/subfolder1/$1 [R=301,L]

RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1/$1 [R=301,NC,L]

RewriteRule ^/subfolder1/subfolder2/(.*)$ /subfolder1/$1 [R=301,NC,L]

Redirect 301 /subfolder1/subfolder2 https://mywebsite.com/subfolder1

RedirectMatch 301 /subfolder1/subfolder2(.*)$ /subfolder1/$1

RedirectMatch 301 ^/subfolder1/subfolder2/?$ https://mywebsite.com/subfolder1

我已经在他们之前放置了“Options + FollowSymLinks”和“RewriteEngine on”规则,但他们中没有一个工作。

有人可以说出错误以及如何找到正确的规则吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个

RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1 [R=301,NC,L]

使用$1,您可以将(.*)的内容附加到重定向的网址。从代码和

中删除它们

http://mywebsite.com/subfolder1/subfolder2/whatever-path 将会 http://mywebsite.com/subfolder1