提问人:level42 提问时间:1/9/2020 最后编辑:anubhavalevel42 更新时间:1/9/2020 访问量:41
301 从 /%anyfolder%/ 重定向到 /Specific folder/ - Apache
301 Redirect from /%anyfolder%/ to /Specific folder/ - Apache
问:
我有一个网站,里面有一堆旧的域名路径。例如。
https://example.com/path1/file.html
https://example.com/path2/file.html
https://example.com/path3/file.html
https://example.com/path4/file.html
我想将所有流量从任何路径重定向到指定路径
https://example.com/my-new-path/file.html
我在htaccess文件中尝试了以下操作
RedirectMatch 301 ^.*/file.*$ /my-new-path/
但是,这会创建一个重定向循环,我理解为什么。问题是,我不知道如何解决这个问题。
我怎样才能为.*任何东西创建一个捕获所有重定向,除了?my-new-path
答:
2赞
anubhava
1/9/2020
#1
您可以使用负前瞻正则表达式,如下所示:
RedirectMatch 301 ^/(?!my-new-path/)[\w-]+/(file\..+)$ /my-new-path/$1
(?!my-new-path/)
是使用 except 匹配下一个模式的否定 lookahead 断言。[\w-]+
my-new-path
请确保使用新浏览器或清除浏览器缓存来测试此规则。
评论
1赞
level42
1/10/2020
对不起,因为其他事情被拉走了,我很快就会测试一下,让你知道,我认为这就足够了。谢谢!
0赞
RavinderSingh13
10/21/2020
您好 anubhava 先生,您能否让我知道如果我使用 RewriteCond 和 RewriteRule 方法并在那里使用重定向是否会有所不同?对不起,因为我是新手,所以在这里问你,谢谢。
0赞
anubhava
10/21/2020
当然,您也可以使用基于规则的规则。mod_rewrite
上一个:持续监控进程是否正在运行
下一个:仅显示旋转图像的特定部分
评论