为了不将垃圾传递到后端,我对location
指令有一个严格的正则表达式。它看起来像这样:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
我想以 80 个字符折叠线,有没有办法拆分配置?以下导致语法错误,但我正在寻找:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/"\
"...(more|restrict).ext" {
# results in a literal newline (%0A) being accepted
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/
...(more|restrict).ext" {
我在文档中找不到提示(http://wiki.nginx.org/ConfigNotation也没有http://wiki.nginx.org/HttpCoreModule#location提到任何关于折叠线的内容)
我不认为你能做到这一点。
nginx 平等对待所有空格,所以即使你试图像那样拆分你的字符串,并且 nginx 可以按照你想要的方式解析它,你最终会得到一个带有一堆空格的正则表达式,我敢肯定不是'你想要什么。如果 nginx 无法解析它,这更有可能,你只会得到一个语法错误。
您将不得不忍受几行长线,或者制作不太复杂的正则表达式。