.htaccess配置实现无尾部斜杠URL重定向至带斜杠路径问题咨询
修复后的.htaccess完整配置
Options -Indexes ErrorDocument 404 /error/error404.html DirectoryIndex index.html index.php DirectorySlash Off RewriteEngine On # 无尾部斜杠的目录路径重定向到带斜杠路径 RewriteCond %{REQUEST_URI} !/$ RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*)$ /$1/ [L,R=301]
核心修改说明
- 原有规则仅做了内部重写,未触发浏览器跳转,新增
R=301标记返回永久重定向响应,地址栏同步更新为带斜杠的路径,直接规避403错误 - 用
%{REQUEST_URI}匹配完整请求路径替换原有$1捕获逻辑,避免路径匹配偏差 - 重定向目标路径新增根路径前缀
/,避免相对路径跳转异常
测试注意事项
- 修改配置后需清空浏览器缓存再测试,301重定向会被浏览器长期缓存,旧缓存会导致测试结果不符合预期
- 若站点部署在子目录下,需将重写规则中的
/$1/调整为对应子目录前缀,例如部署在/demo/目录下则修改为/demo/$1/ - 调试阶段可将
R=301替换为R=302使用临时重定向,确认规则生效后再改回301,避免无效缓存污染
内容的提问来源于stack exchange,提问作者Nico Real
相关产品推荐
相关产品推荐

