Apache:将特定文件夹和子文件夹中的所有文件重定向到另一个网址

问题描述 投票:0回答:2

如何将子文件夹(以及下面的所有子文件夹)的所有请求重定向到特定的外部 URL?

www.example.com/oldfolder/ 
www.example.com/oldfolder/abc/
www.example.com/oldfolder/xyz/whatever/

应重定向到一个新 URL: www.otherdomain.com/new/ (不保留其余路径)

apache redirect
2个回答
1
投票

我自己找到了答案:

RedirectMatch 301 ^/oldfolder/?(.*) https://www.otherdomain.com/new/ 

0
投票

对于那些寻找实际答案的人,这里有一个明确的答案:

我想将与

/fr[/**]
匹配的路径重定向到
/[**]

RedirectMatch 301 ^/fr/?(.*)$ /$1

上面的代码似乎可以工作,但有一个问题:正则表达式过于宽松。

事实上,使用这样的指令

/friend
将被重定向到
/iend
,这不是我们想要的。

因此,我们需要将重写分为 2 个指令:

RedirectMatch 301 ^/fr/(.*)$ /$1
Redirect 301 /fr /

第一个匹配任何“子”路由,而第二个仅处理“根”。

© www.soinside.com 2019 - 2024. All rights reserved.