如何将子文件夹(以及下面的所有子文件夹)的所有请求重定向到特定的外部 URL?
www.example.com/oldfolder/
www.example.com/oldfolder/abc/
www.example.com/oldfolder/xyz/whatever/
应重定向到一个新 URL: www.otherdomain.com/new/ (不保留其余路径)
我自己找到了答案:
RedirectMatch 301 ^/oldfolder/?(.*) https://www.otherdomain.com/new/
对于那些寻找实际答案的人,这里有一个明确的答案:
我想将与
/fr[/**]
匹配的路径重定向到 /[**]
。
RedirectMatch 301 ^/fr/?(.*)$ /$1
上面的代码似乎可以工作,但有一个问题:正则表达式过于宽松。
事实上,使用这样的指令
/friend
将被重定向到/iend
,这不是我们想要的。
因此,我们需要将重写分为 2 个指令:
RedirectMatch 301 ^/fr/(.*)$ /$1
Redirect 301 /fr /
第一个匹配任何“子”路由,而第二个仅处理“根”。