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

如何在.htaccess中为/submit路径设置重定向例外规则?

解决方案:调整Rewrite规则的匹配顺序

嘿,这个问题其实很好解决——核心就是RewriteRule的匹配顺序!你的通用404重定向规则会优先拦截所有不存在的文件/目录请求,包括/submit,导致专门的跳转规则根本没机会生效。解决办法就是把特殊场景的规则放在通用规则前面,让它先被匹配。

修改后的.htaccess代码如下:

RewriteEngine On
RewriteBase /

# 先处理特殊场景:访问/submit时跳转到submit.php
RewriteRule ^submit$ submit.php [L,R=301]

# 通用404重定向规则(放在后面,仅匹配未被前面规则处理的请求)
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ search.php [QSA,L]

关键细节说明:

  • [L]标志:表示这是最后一条匹配的规则,一旦触发,后续规则不再执行。这样/submit的请求就不会进入后面的通用规则。
  • [R=301]:如果需要永久重定向(利于SEO)就加上,要是只是内部跳转、不需要地址栏变化,可以去掉R=301,只保留[L]。
  • 规则顺序:一定要把特殊规则放在通用规则前面,Apache的Rewrite规则是从上到下依次匹配的,先匹配到的先执行。

这样调整后,访问domain.com/submit会直接跳转到submit.php,其他所有不存在的页面依然会重定向到search.php并携带查询参数,完美满足你的需求。

内容的提问来源于stack exchange,提问作者Burf2000

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.11 09:03:01