我想使用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”规则,但他们中没有一个工作。
有人可以说出错误以及如何找到正确的规则吗?
谢谢。
答案 0 :(得分:0)
试试这个
RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1 [R=301,NC,L]
使用$1
,您可以将(.*)
的内容附加到重定向的网址。从代码和
http://mywebsite.com/subfolder1/subfolder2/whatever-path 将会 http://mywebsite.com/subfolder1