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

如何配置Nginx动态URL rewrite规则实现Entry ID参数提取跳转

Nginx动态Entry ID重写规则配置方案

Nginx的rewrite指令默认仅匹配URL的路径部分(不包含?之后的查询参数),如果需要限制查询参数,需要额外结合$query_string变量判断。

场景1:不限制查询参数,只要路径符合规则就跳转

只要URL路径格式为/{Entry ID}/index.php就触发跳转,不校验后面的查询参数,规则如下:

# 301永久跳转,若需要临时跳转把permanent改成redirect
rewrite ^/([0-9a-zA-Z_]+)/index.php$ https://example.com/index.php?entryId=$1 permanent;

规则说明:

  • 正则中的([0-9a-zA-Z_]+)用来捕获路径第一段的Entry ID,匹配数字、大小写字母、下划线,和示例的Entry ID格式匹配,如果你Entry ID支持其他字符,可以调整正则范围
  • $1就是正则捕获到的动态Entry ID值
  • 跳转默认会自动携带原URL的所有查询参数,如果你不需要保留原查询参数,可以在$1后面加?,即写成index.php?entryId=$1?

场景2:严格匹配示例中的查询参数

要求原URL必须携带&autoplay=false&automute=true查询参数才触发跳转,规则如下:

if ($query_string = "&autoplay=false&automute=true") {
    rewrite ^/([0-9a-zA-Z_]+)/index.php$ https://example.com/index.php?entryId=$1? permanent;
}

规则说明:

  • 这里的$query_string变量对应原URL?之后的全部内容,完全匹配才会进入重写逻辑
  • 末尾加?是为了清除原查询参数,避免跳转后URL同时携带entryId和原查询参数,需要保留的话可以去掉这个?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 14:18:04