我想使用 htaccess 规则进行重定向,以指向来自
mywebsite.com/subfolder1/subfolder2/...whatever-path....
自
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"规则放在它们之前,但它们都没有起作用。
有人能说出哪里出了问题以及如何找到正确的规则吗?
谢谢。
试试这个
RewriteRule ^subfolder1/subfolder2/(.*)$ /subfolder1 [R=301,NC,L]
使用$1
,您可以将(.*)
的内容附加到重定向的 URL。从代码中删除它们,然后
http://mywebsite.com/subfolder1/subfolder2/whatever-path 将是 http://mywebsite.com/subfolder1