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

如何通过.htaccess配置实现URL有无尾部斜杠均可正常访问

问题根因

你当前配置的重写规则仅精确匹配无尾部斜杠的路径contacts,带斜杠的路径contacts/没有对应的匹配规则,因此返回404错误。

修复配置

直接修改原规则中的正则匹配段,用/?兼容有无尾部斜杠两种情况即可:

RewriteEngine On
Options -Indexes
# 若站点放在子目录mysitedirectory下,可取消下一行注释避免路径偏移
# RewriteBase /mysitedirectory/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^contacts/?$ contacts.php [L,QSA,NC]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^home/?$ index.php [L,QSA,NC]

规则说明

正则表达式中的/?表示匹配0个或1个斜杠,因此^contacts/?$可以同时命中contacts和contacts/两种请求路径,满足你两种格式都可访问的需求。
注意原配置中RewriteCond仅对紧跟在它后面的第一条RewriteRule生效,因此给home路径的规则也补充了相同的文件/目录判断条件,避免误拦截真实存在的文件请求。

可选优化(非必选)

如果需要避免搜索引擎判定两种路径为重复内容,可额外添加规则统一URL格式,例如将所有带尾部斜杠的非目录请求301跳转到不带斜杠的版本:

# 放在所有重写规则最前面即可
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:15:04