Nginx位置不使用正则表达式

时间:2014-08-12 10:41:25

标签: regex nginx location

我想用这条路线/ al /或/ ca /​​等来捕获所有网址。

所以www.mysite.com/ca/或www.mysite / al /

我试过

location ~ ^/([a-z]{2})/ {
}

但无法使其正常工作,不确定如何在位置块中使用正则表达式。 Nginx不会启动,但是当我硬编码到

location ~ /gb/ {
}

它工作正常。

1 个答案:

答案 0 :(得分:0)

您的位置区块包含{,应该引用。如果使用nginx -t命令测试配置,则会看到错误:

# nginx -t
nginx: [emerg] pcre_compile() failed: missing ) in "^/([a-z]" in /etc/nginx/sites-enabled/test:5
nginx: configuration file /etc/nginx/nginx.conf test failed

只需将位置放入引号即可正常工作。

location ~ "^/([a-z]{2})/" {
}