You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.htaccess中RewriteCond配置错误,URL重定向失效求助

Apache Rewrite重定向规则失效排查

需求说明

需要将以下格式的URL重定向到上级目录:

  • 需重定向:https://kotrabatowy.pl/kod-rabatowy/*/test1、https://kotrabatowy.pl/kod-rabatowy/*/test2 → 目标:https://kotrabatowy.pl/kod-rabatowy/*/
  • 需排除:末尾为3-4位数字的URL,如https://kotrabatowy.pl/kod-rabatowy/*/123、https://kotrabatowy.pl/kod-rabatowy/*/1234

当前失效规则

RewriteCond %{REQUEST_URI} !^kod-rabatowy/([^/]+)/[0-9]{3,4}/$
RewriteRule ^kod-rabatowy/([^/]+)/([^/]+)/$ kod-rabatowy/$1/ [R=301,L,NC]

问题原因

  1. REQUEST_URI格式不匹配:%{REQUEST_URI}的值默认以/开头,但规则中未包含开头的/,导致排除条件永远成立,无法过滤掉末尾为数字的URL。
  2. 结尾斜杠限制过严:原规则仅匹配末尾带斜杠的URL,实际访问中可能存在不带斜杠的请求,导致部分场景不触发重定向或排除规则失效。

修正后的规则

# 排除末尾为3-4位数字(兼容带/不带斜杠)的请求
RewriteCond %{REQUEST_URI} !^/kod-rabatowy/([^/]+)/[0-9]{3,4}/?$
# 匹配目标URL并重定向到上级目录
RewriteRule ^kod-rabatowy/([^/]+)/([^/]+)/?$ kod-rabatowy/$1/ [R=301,L,NC]

修正要点

  • 给REQUEST_URI的正则开头添加/,匹配真实请求路径的格式。
  • 在正则末尾添加/?,同时兼容带斜杠和不带斜杠的URL场景。
  • 保留R=301永久重定向、L终止后续规则、NC忽略大小写的标记。

内容的提问来源于stack exchange,提问作者Miłosz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 17:12:34