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

如何使用mod_rewrite规则将URL参数转换为锚点格式

Apache mod_rewrite 实现方案

前提条件

  • 已启用 Apache mod_rewrite 模块
  • 站点目录配置中已开启 AllowOverride All 权限,允许 .htaccess 文件生效

根路径转换规则(适配 myurl.com/?id=para 转 myurl.com/#para)

将以下规则写入站点根目录的 .htaccess 文件即可:

RewriteEngine On
# 匹配查询字符串中id参数的取值
RewriteCond %{QUERY_STRING} ^id=([^&]+)$
# 跳转至带锚点的地址,末尾?用于清除原有查询字符串
RewriteRule ^$ /#%1? [R=302,L]

规则说明

  • ^id=([^&]+)$ 会捕获id参数的内容存入分组 %1,如果需要兼容id参数前后存在其他查询参数的场景,可以将匹配规则修改为 ^.*id=([^&]+).*$
  • 标记 R=302 代表临时跳转,确认规则无问题后可改为 R=301 启用永久跳转提升SEO效果
  • 标记 L 代表匹配到当前规则后停止执行后续重写规则

全路径适配规则

如果需要适配站点所有路径下的参数转换,例如 myurl.com/article/?id=123 转 myurl.com/article/#123,可以将上面的RewriteRule改为:

RewriteRule ^(.*)$ /$1#%1? [R=302,L]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:03:00