原文: https://ichochy.com/posts/software/20231125.html nginx location 正则错误写法 location 错误的写法 匹配请求目录地址 /555 server { location ~ ^/ \d { 2,3 } $ { …… } } 分析正则 location ~ ^/\d{2,3}$ ~ 为开启正则匹配,这个不能少 ^ 为字符的开始匹配,字符以后面的规则开始 / 为第一个匹配字符 / \d 匹配数字 { 2,3 } 限定数字的个数 2-3 个 $ 为字符的结束匹配,字符以前面的规则结束 上面的会出现错误 pcre_compile() failed: missing 正则解析失败,正则表达式正常是没有问题的,让人很误解 但在 nginx 中不能这样写,需要加上双引号( "" ) location 正则的正确写法 location ~ "^/\d{2,3} $ " 注意:中/英文输入法,需要英文符号的双引号("") 正则规则 ~ 表示执行一个正则匹配,区分大小写 ~* 表示执行一个正则匹配,不区分大小写 ^~ 表示普通字符匹配,不使用正则匹配,一般用来匹配目录 = 进行普通字符精确匹配 @ "@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files !~ 表示正则不匹配,排除正则的匹配,区分大小写 !~* 表示正则不匹配,排除正则的匹配,不区分大小写 . 匹配除换行符以外的任意字符 ? 重复0次或1次 + 重复1次或更多次 * 重复0次或更多次 \d 匹配数字 ^ 匹配字符串的开始 $ 匹配字符串的结束 { n } 重复n次 { n, } 重复n次或更多次 { n,m } 重复n-m次 [ a ] 匹配单个字符a [ a-z ] 匹配a-z小写字母的任意一个 nginx 反向代...