![正则表达式位置块在 NGINX 中不起作用](https://linux22.com/image/674387/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%BD%8D%E7%BD%AE%E5%9D%97%E5%9C%A8%20NGINX%20%E4%B8%AD%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我的 nginx 配置中有一个非常简单的位置块,如下所示:
location ~* ^\/[a-z0-9]{24}$ {
// do some things
}
我正在尝试捕获以 Mongo ObjectId 结尾的 URL。例如:https://example.com/5550cdea6928495a25bb8df8
由于某种原因,nginx 告诉我有一个错误:
2016/01/07 22:36:32 [emerg] 26445#0: unknown directive "24}$" in /etc/nginx/sites-enabled/mysite.com:32
答案1
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html
如果正则表达式包含“}”或“;”字符,则整个表达式应该用单引号或双引号括起来。