搜索

Nginx 使用ngx_http_map_module模块的map指令遇到的常见问题。


发布时间: 2022-11-24 22:42:00    浏览次数:34 次

ngx_http_map_module

请先看参阅的Nginx Map指令文档后吧。这里的说明比较简略。

基本使用Demo


http {
  map "beijing" $Name {
    default "中国";
    "beijing"  "北京";
    "shanghai1hao"  "上海1号";
    "shanghai2hao"  "上海2号";
  }
}

在需要的地方使用$Name进行引用即可,会根据map指令后的第一个字符串的值进行判断主体中的值。

正则使用

http {
  map "hai" $Name {
    default "中国";
    "beijing"  "北京";
    ~\w+hai\w*  "上海1号";
    # 可以使用捕获组进行匹配和使用
    (\w+)hai  "上海1号:$1";
  }
}

问题1:nginx: [emerg] pcre_compile() failed: nothing to repeat in "https://().xxx.xxx" at ").dataorigin.tech" in /etc/nginx/conf.d/xxx.conf:xx

这个意思是说,量词号,本身就是匹配所有字符并且匹配0个或多个字符,所以号后面的静态文本匹配就没有意义了,所以这里报错了。更改为类似于\w*这种正则匹配就行,限制下量词匹配的字符范围。
Nginx使用的perl正则,参阅里有直达文档。

注意,在通过网页测试静态资源的时候,一定注意勾选禁用缓存,不然会导致浏览器缓存后,不会请求nginx的。

参阅:

Nginx使用的正则表达式文档
Nignx map指令

免责声明 Nginx 使用ngx_http_map_module模块的map指令遇到的常见问题。,资源类别:文本, 浏览次数:34 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 10:42:00。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/XingXiaoMeng/p/16916242.html