Joomla 1.5站点带GET参数的链接如何通过.htaccess 301重定向到首页
解决方案
失效原因
你之前配置的规则未命中核心问题是混淆了Apache重写变量的匹配范围:%{QUERY_STRING}仅匹配URL中?之后的参数部分,不包含请求路径内容,你将/images/stories/catalog/路径写入QUERY_STRING的匹配规则,自然无法触发重定向。
可用重定向规则
将以下规则放在.htaccess文件中RewriteEngine On声明的下一行,优先于Joomla自带的默认重写规则即可:
# 重定向带rand参数的catalog路径请求到首页 RewriteCond %{QUERY_STRING} (^|&)rand=[0-9]+(&|$) [NC] RewriteRule ^images/stories/catalog/?$ https://primavista.ru/? [R=301,L,NC]
规则说明与验证注意
- 规则同时匹配路径
/images/stories/catalog/(末尾斜杠可选)和查询参数中的rand纯数字参数,兼容rand参数位于多个参数中间的场景 - 目标URL末尾的
?作用是清空原有查询参数,避免rand参数被拼接带到首页URL上 - 测试前需清空浏览器缓存,301永久重定向会被浏览器本地持久化存储,未清缓存可能无法看到规则生效效果
- 若规则仍不生效,检查服务器是否已开启
mod_rewrite模块,站点配置中AllowOverride是否设置为All,确保.htaccess文件可被服务器读取
内容的提问来源于stack exchange,提问作者Zeus07
相关产品推荐
相关产品推荐

