Htaccess 重定向始终保留旧路径



我想使用 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

相关内容

  • 没有找到相关文章

最新更新