如何在Apache服务器.htaccess中配置所有路由URL末尾自动添加斜杠
用.htaccess为所有URL末尾统一添加斜杠教程
首先确认你的Apache服务已经开启mod_rewrite模块,且站点配置中AllowOverride参数设置为All,确保.htaccess文件可以生效。
具体配置步骤
- 进入网站根目录,新建或编辑已有的
.htaccess文件 - 写入以下配置内容:
RewriteEngine On # 排除末尾已带斜杠的请求 RewriteCond %{REQUEST_URI} !/$ # 排除真实存在的静态文件,避免css、js、图片等资源访问异常 RewriteCond %{REQUEST_FILENAME} !-f # 排除真实存在的目录,不需要的话可以删除本行 RewriteCond %{REQUEST_FILENAME} !-d # 301永久重定向,末尾追加斜杠,保留原有查询参数 RewriteRule ^(.*)$ /$1/ [L,R=301,QSA]
效果验证
配置保存后访问站点,即可实现以下转换效果:
http://example.com=>http://example.com/http://example.com/1/id=1=>http://example.com/1/id=1/http://example.com/pages/mgmg=>http://example.com/pages/mgmg/
注意事项
- 调试阶段建议将
R=301改为R=302使用临时重定向,避免浏览器缓存错误规则,确认配置无误后再改回301永久重定向 - 若站点部署在子目录下,需要在
RewriteEngine On下方新增一行RewriteBase /你的子目录名称/ - 配置默认不会影响已带斜杠的URL、静态资源、已有目录的正常访问
内容的提问来源于stack exchange,提问作者Yan Kyaw Min
相关产品推荐
相关产品推荐

