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

如何移除重定向URL中的末尾斜杠?Apache Rewrite规则优化

解决URL重写中移除.php扩展名且不添加末尾斜杠的问题

直接修改现有规则,调整重定向目标和内部映射的匹配逻辑即可,不需要额外添加全局去斜杠规则,具体代码如下:

RewriteEngine On
RewriteBase /

# 将带.php或不带的原始URL重定向到不带斜杠的干净URL
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(about|contact)(\.php)?$ /$1 [R=302,L]

# 将不带斜杠的干净URL内部映射到对应的.php文件
RewriteRule ^(about|contact)$ $1.php [END,QSA,NC]

关键修改说明:

  • 第一条重定向规则的目标从/$1/改为/$1,直接去掉了末尾斜杠,确保重定向后的URL格式符合需求
  • 第二条内部映射规则的匹配模式从^(about|contact)/$改为^(about|contact)$,对应匹配不带斜杠的URL,实现内部到PHP文件的映射

你之前的全局规则出错原因:

你添加的RewriteRule (.*)/$ $1 [R=301,L]是全局匹配所有带斜杠的URL,会和原有内部映射规则产生冲突。比如用户访问/about/时,这条规则会先将其重定向到/about,但后续内部规则又要处理/about,若规则顺序或条件限制不当,极易引发重定向循环或404错误。而直接针对指定页面修改规则,就能避免这类全局规则带来的冲突问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 14:42:06