【发布时间】:2014-08-12 10:41:25
【问题描述】:
我想用这条路线 /al/ 或 /ca/ 等捕获所有 url。
所以 www.mysite.com/ca/ 或 www.mysite/al/
我试过了
location ~ ^/([a-z]{2})/ {
}
但无法使其正常工作,不确定如何在位置块中处理正则表达式。 Nginx 无法启动,但是当我将其硬编码为
location ~ /gb/ {
}
效果很好。
【问题讨论】:
我想用这条路线 /al/ 或 /ca/ 等捕获所有 url。
所以 www.mysite.com/ca/ 或 www.mysite/al/
我试过了
location ~ ^/([a-z]{2})/ {
}
但无法使其正常工作,不确定如何在位置块中处理正则表达式。 Nginx 无法启动,但是当我将其硬编码为
location ~ /gb/ {
}
效果很好。
【问题讨论】:
您的位置块包含{ 并且应该被引用。如果你使用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})/" {
}
【讨论】: