Nginx 位置匹配正则表达式不起作用

2023-12-04

我无法将位置与下面提到的模式匹配,我想将过期标头设置为 24 小时。但它不起作用。如果我只使用下面提到的正则表达式,它就有效:

location ~* .*abc\.php.* {
expires 24h;
}

下面的例子不起作用。

location ~* .*abc\.php.*xyz=detail.*login_something=.* {
expires 24h;
}

在“abc.php”和“xyz=detail”和“login_something=”之间和之后有很多内容,所以我只能使用.*。

提前致谢!


有多种方法可以实现您想要执行的操作,但最简单的方法是将大型正则表达式应用于包含整个 URI(包括查询字符串)的变量。这将是$request_uri

第二个问题是如何操纵expires再次强调,不必使用多个块并必须在每个块中重新实现 PHP 指令,只需使用map指示详情请参阅expires文档.

例如:

map $request_uri $expires {
    default                                   off;
    ~*abc\.php.*xyz=detail.*login_something=  24h;
}

server {
    ...
    expires $expires;
    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nginx 位置匹配正则表达式不起作用 的相关文章

  • 优化正则表达式以过滤数千个 HTML 选择选项

    背景 我开发了一个基于 jQuery 的穿梭小部件 https stackoverflow com a 13557000 59087对于 HTMLselect元素 因为我找不到一个经过最低限度编码并提供正则表达式过滤器来补偿的元素变音符号
  • 使用 Beautifulsoup 和正则表达式提取 10-K Edgar 文件中的文本

    我想从大约 10000 个文件中自动提取 1A 风险因素 部分并将其写入 txt 文件 可以找到带有文件的示例 URLhere https www sec gov Archives edgar data 1800 0001047469190
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给
  • 正则表达式匹配任何重复两次的字符

    我试图确定提供的字符串是否包含重复两次的字符 以下是我正在使用的正则表达式 a z 1 1 但是 当针对以下字符串进行测试时 下面的两个字符串都与模式匹配 尽管我使用了 1 gt gt gt re findall r a z 1 1 abc
  • 标点符号的Javascript正则表达式(国际)?

    我需要一个正则表达式来匹配所有标点符号 例如标准的 但包括国际标记 例如颠倒的西班牙语问号 中文句点等 我的 google fu 即将到来 有谁手头有这样一个与Javascript兼容的正则表达式吗 添加到 stema的答案 https s
  • Python - 用逗号分割,跳过括号内的内容

    我需要用逗号分隔字符串 但我对这种情况有一个问题 TEXT EXAMPLE THIS IS A EXAMPLE BUT NOT WORKS FOR ME SECOND THIRD 我想拆分并得到 var 0 TEXT EXAMPLE THI
  • iFrame 在 Facebook Canvas 应用程序中显示为空白

    我有一个非常简单的页面 我试图在 Facebook iframe 中查看它 它是一个 Django 视图 但它不依赖于请求是通过 POST 还是 GET 提交 它所做的只是返回一些简单的 HTML 如果我们直接点击链接 它会正确显示 如果在
  • PHP正则表达式替换链接url

    我需要添加href 之前http 如果这http 不遵循href or src 以下代码部分有效 部分意味着它考虑 a href 只但不src a s i a href target blank gt 0 a str 预先感谢各位的回复 s
  • 我可以在 VIM 或 Perl 中替换单个正则表达式中的多个项目吗?

    假设我有字符串 The Quick Brown Fox Jumps Over the Lazy Dog 我可以用一个正则表达式将其更改为 The Slow Brown Fox Jumps Over the Energy Dog 吗 目前 我
  • 如何仅计算数字长度正则表达式

    俄罗斯电话号码有11位数字 但我无法使用a 11 因为电话号码可以包含括号和破折号我的正则表达式 d 1 2 0 9 3 0 9 7 9 号码可以包含 1 到 2 个字符作为国家 地区代码然后 3 位带括号的数字或不作为电话运营商代码然后是
  • 正则表达式排除双空格

    我正在寻找 c asp net 3 5 的正则表达式 如果句子或单词组中存在任何双空格 该正则表达式将会失败 the cat chased the dog true the cat chased the dog false doubles
  • 使用 sed 替换复杂模式

    我想使用 sed 命令替换模式 要删除的图案如下所示 带有一个空格 var 0xaae8 x6A x6F x69 x6E x72 x65 x76 x65 x72 x73 x65 x73 x70 x6C x69 x74 x3E x74 x70
  • 如何强制 Perl 按需重新编译使用“/o”编译的正则表达式?

    技术问题 给定一个正则表达式 my regEx qr whatever myVar oxi Notice o for compile once 强制重新编译的最有效方法是什么一经请求 例如 当我从程序逻辑中知道 myVar值改变 而不下降
  • 从字符串中删除重音符号

    最近我在 StringUtils 库中发现了非常有用的方法 即 StringUtils stripAccents String s 我发现它对于删除任何特殊字符并将其转换为某些 ASCII 等效字符 确实很有帮助 例如 c 等 现在我正在为
  • Java 正则表达式与反向引用的交集

    我正在尝试在 Java 中创建一个正则表达式来匹配特定单词的模式 以查找具有相同模式的其他单词 例如 单词 tooth 的模式为 12213 因为 t 和 o 都重复 我希望正则表达式能够匹配 牙齿 等其他单词 这是我使用反向引用的尝试 在
  • 在评论中查找不同风格的日期

    我还有一个问题要问preg match 我有一个表 其中评论的日期写在评论本身内 手动 现在我需要提取该日期并将其放置在不同的列中 我发现评论和日期的样式如下 id warning sent warning date 6109 2011 0
  • docker、nginx、django 以及如何提供静态文件

    目标 用于生产 django 网站部署的 docker 容器集 我在这个过程中遇到的问题是 通常 nginx 直接提供静态文件 根据我对使用 docker 的良好架构的理解 您将拥有一个用于 wsgi 服务器的容器 可能是gunicorn
  • 在Python中用空格分割字符串——保留带引号的子字符串

    我有一个像这样的字符串 this is a test 我正在尝试用 Python 编写一些内容 以将其按空格分开 同时忽略引号内的空格 我正在寻找的结果是 this is a test 附言 我知道您会问 如果引号内有引号会发生什么 嗯 在
  • 排除正则表达式匹配中的字符串,以进行 sed 处理

    我需要将其匹配为替代命令 whatever MATCH THIS whateverwhatever AND THIS whateverwhatever 我正在尝试 sed e s 1 g myfile 但这是急切的匹配 MATCH THIS
  • 如何用破折号替换所有大写字母,用正则表达式替换所有小写字母?

    如何在 php 中用破折号和小写字母替换所有大写字母 Such as understandRegexBetter to understand regex better 我的 Google fu 和对以下代码的实验并没有让我走得太远 echo

随机推荐

  • React Native - 使用状态时文本输入闪烁

    我正在向 TextInput 组件的输入文本添加一些验证 TextInput 的值在状态中处理 并且仅在输入的值有效时更新 我的代码看起来像这样 class TextInputWithValidation extends Component
  • 选择时间序列的一部分

    在下面的代码中 我创建了一个简单的数据系列 一个时间向量 然后创建了一个时间序列 我对两者的绘制都没有问题 它们位于同一个图上并不重要 我无法弄清楚如何对时间序列的一部分进行子集化 如最后一个因错误而失败的命令所示 gt gt timese
  • 无法序列化/反序列化 ArrayList

    我正在尝试序列化和反序列化一个数组列表 其中包含一个对象 HairBirt param new HairBirt param setName name param setValue 2 3f HairBirt param2 new Hair
  • 有效地对矩阵进行行标准化

    我需要一种有效的方法来对稀疏矩阵进行行标准化 Given W matrix 0 1 0 1 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 1 0
  • 注释属性的值必须是常量表达式

    我有一个通过 spring 注释读取的属性文件 如下所示 Value platform private String platform 获得平台参数后 我想读取第二个参数 具体取决于platform参数值 Value url platfor
  • 使用 JSON.NET 返回 ActionResult [重复]

    这个问题在这里已经有答案了 我正在尝试编写一个 C 方法来序列化模型并返回 JSON 结果 这是我的代码 public ActionResult Read DataSourceRequest DataSourceRequest reques
  • 如何将 JSONArray 转换为 ListView?

    我有一个执行以下操作的代码 通过 HttpClient 连接到 Web 服务到 PHP 文件 返回 SQL 查询的结果 返回格式为jArray JSONArray for int i 0 i lt jArray length i json
  • 如何从动态创建的(Java 中)layer-list / LayerDrawable 中获取 Android 资源 ID?

    此问题 答案帖子中的 解决方案 2 动态 在android中叠加两个图像以设置imageview 与我想要做的非常接近 即动态创建一个图层列表 对于状态栏通知图标 我想在图层中构建我的图标 但是通知API中的图标分配需要资源ID 我想从服务
  • Display.HdrCapability 和configuration.isScreenHdr 之间有什么区别

    我想了解 Android 上的 HDR 功能 因此我编写了以下代码来检查这一点 Display display getWindowManager getDefaultDisplay Display HdrCapabilities hdrCa
  • Sqlalchemy - 执行原始 SQL 查询

    我在连接到多个数据库的 Flask 应用程序中使用 sqlalchemy 使用如图所示的绑定here 我想在非主数据库之一上执行原始 SQL 查询 我正在尝试使用会话 执行 如此处所示 但它针对主数据库执行 API 文档声明您可以使用一个参
  • 自动完成 HTML 中的 ERROR 404(使用 ASP.NET 和 JQuery)

    由于某些原因 在 ASP NET 项目中 我的自动完成功能无法正常工作 我尝试了在数据连接中使用数据源的不同方法 但无济于事 我已经为其创建了一个名为 Diagnose 的数据库 但由于某种原因 它在 jquery 上显示错误 404 这是
  • 如何使我的 css 文件在 django 中工作

    我是 django 新手 但在 python 方面有一些相关技能 我刚刚开始在 django 中构建一个项目 到目前为止我已经能够在我的项目中创建一个应用程序 另外 我已经能够将我的网站的index html文件链接到django 并且在命
  • Final ArrayList 的意义是什么?

    通过将 ArrayList 或其他 Collection 设为 Final 我们可以获得哪些优点 缺点 我仍然可以向 ArrayList 添加新元素 删除元素并更新它 但最终的效果是什么 但最终的效果是什么 这意味着您无法重新绑定变量以指向
  • 如何在 JavaScript 中设置浏览器特定的 css?

    如何设定风格 webkit box shadow 0px 0px 11px 000通过 JavaScript 到一个元素 您可以使用style object element style webkit box shadow 0px 0px 1
  • 活动堆栈问题

    我有两组活动 假设每组有 3 个活动 A1 B1 C1 A2 B2 C2 我从 A1 启动我的应用程序 然后 gt B1 gt C1 这里我想从 C1 跳转到 gt A2在 A2 处 如果我按回键 应用程序应该存在 而不是让我返回 C1 然
  • Firebase:如何自动更新多个资源?

    Firebase 允许更新资源交易地 据我了解 客户端执行此操作 向服务器发送请求 说 如果旧值是 X 则将新值设置为 Y 如果存在争用 服务器可能会拒绝来自客户端的多个更新 直到其中一个更新被接受为止 现在 如果我想自动更新多个资源该怎么
  • 如何使用javascript删除表中的特定行?

    到目前为止我已经实施了 在输入字段中输入值并单击 添加 按钮 输入的值将添加到新行 当我单击删除按钮时 所有行都将被删除 我需要实施什么 复选框应该添加到每一行 如果我选择该复选框并单击 删除 按钮 则只有该特定行应该被删除 并且如果我也选
  • Angular 中的通用 http 错误处理

    Angular2 JWT为原生 Angular http 类提供 AuthHttp 包装器 该类会自动在每个请求中包含 http 授权标头 在我的服务中 我通常会这样调用后端 api getThings Observable
  • 在 django-nonrel 中创建超级用户

    我是一个新手 一直在学习 django nonrel 教程 并在 Google App Engine 中设置了 django nonrel 我现在尝试使用以下命令创建超级用户 manage py createsuperuser userna
  • Nginx 位置匹配正则表达式不起作用

    我无法将位置与下面提到的模式匹配 我想将过期标头设置为 24 小时 但它不起作用 如果我只使用下面提到的正则表达式 它就有效 location abc php expires 24h 下面的例子不起作用 location abc php x