我需要将
parent URL
重定向到新的父 URL,但 children URLs
保持不变。
www.example.com/blog -> www.example.com/xyx?cat=11
但是以下 URL 对于所有子 URL 都保持相同
www.example.com/blog/xyz -> www.example.com/blog/xyz
我尝试了以下解决方案,但子 URL 也重定向了
Redirect 301 /blog /xyx?cat=11
在
.htaccess
文件中添加以上行后,我的子 URL 如下所示
www.example.com/blog/xyz -> www.example.com/xyx?cat=11/xyz
Redirect
指令进行此重定向,因为
Redirect
仅匹配 URI 的起始部分以导致重定向。您应该使用
RewriteRule
来使用正则表达式来控制完整的 URI,如下所示:
RewriteEngine On
RewriteRule ^/?blog/?$ /xyx?cat=11 [L,NC,R=302]
此重定向规则将匹配 /blog
或
/blog/
,但不会影响
/blog/xyz
。记住:
302
(临时重定向)更改为
301
(永久重定向)