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

Nginx正则匹配带数字的/?=格式URL问题求助

解决匹配domain.com/?=随机数字类URL的问题

问题根源

你之前的正则无法匹配,核心原因是Nginx的location指令仅匹配URI路径部分(即?之前的内容),比如domain.com/?=123123的实际匹配路径是/,?=123123属于查询字符串(query string),不在location的匹配范围内。

正确解决方案

要匹配这类URL,需要结合location匹配根路径,再用$query_string变量判断查询串内容:

# 精确匹配根路径
location = / {
    # 判断查询串是否为"=+数字"格式
    if ($query_string ~ ^=[0-9]+$) {
        # 这里添加你的业务逻辑,比如重定向、返回内容等
        rewrite ^ /processed-page last;
        # 示例:返回200状态码和提示内容
        # return 200 "匹配到目标URL";
    }
}

正则说明

  • ^=[0-9]+$:确保查询串以=开头,后续全是数字(至少1位,若允许空数字可改为^=[0-9]*$)
  • location = /:精确匹配根路径,避免误匹配其他子路径的URL

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 01:50:55