[转]nginx rewirte 规则出现emerg错误解决

nginx的rewrite规则中,如果包含大括号,则需要将此条规则中的匹配项用引号包含起来,否则会出现错误。

如:

rewrite ^/([a-zA-Z]{1,50})/api/([a-zA-Z]{1,50})$ /api/api.php?a=$1&t=$2;

 

如上面这条规则,用nginx -t测试规则是否成功时会出现以下错误:

[emerg]: directive “rewrite” is not terminated by “;”

正确的应该是这样的

rewrite "^/([a-zA-Z]{1,50})/api/([a-zA-Z]{1,50})$" /api/api.php?a=$1&t=$2;

 

用引号将包含大括号的规则包含起来,就不会出错了。

 

转自https://www.akii.org/nginx-rewirte-emerg-error.html

[转]nginx rewirte 规则出现emerg错误解决

上一篇:poj1835 宇航员


下一篇:PostgreSQL13 安装 psycopg2