如何使用.htaccess将URL的?id=参数改写为路径形式且不影响其他资源
LiteSpeed 环境 URL 优化实现方案
操作步骤
- 找到站点根目录下的
.htaccess文件,不存在就手动新建,添加以下重写规则:
RewriteEngine On # 排除真实存在的文件,不执行重写 RewriteCond %{REQUEST_FILENAME} !-f # 排除真实存在的目录/子目录,不执行重写 RewriteCond %{REQUEST_FILENAME} !-d # 匹配根路径下的数字参数,内部重写到原带id参数的地址 RewriteRule ^(\d+)$ /?id=$1 [L]
- 规则生效后无需修改原有PHP业务代码,原来的
$id = $_GET['id'];可以正常获取到参数值,用户浏览器地址栏会始终显示优化后的https://www.example.com/987456格式,不会暴露查询参数。
规则适配调整
如果你的id参数支持字母、数字、下划线组合,可以把规则中的\d+替换为\w+即可兼容更多格式的id值。
内容的提问来源于stack exchange,提问作者Anan
相关产品推荐
相关产品推荐

