Htaccess 重定向始终保持旧路径

Htaccess redirect always keeps the old path

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

的所有 link

mywebsite.com/subfolder1/subfolder2/...whatever-path....

mywebsite.com/subfolder1

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

mywebsite.com/subfolder1/subfolder2/mypage.php

变成

mywebsite.com/subfolder1/mypage.php

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

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

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

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

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

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

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

我已将 "Options +FollowSymLinks" 和 "RewriteEngine on" 规则放在它们之前,但其中 NONE 起作用了。

谁能告诉我哪里出了问题以及如何找到正确的规则?

谢谢。

试试这个

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

使用 </code>,您将 <code>(.*) 的内容附加到重定向的 URL。从代码中删除它们

http://mywebsite.com/subfolder1/subfolder2/whatever-pathhttp://mywebsite.com/subfolder1