为了不将垃圾传递给后端,我对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提到任何有关折叠线的事情)
答案1
我不认为你能做到这一点。
nginx 对所有空格一视同仁,因此即使您尝试这样拆分字符串,并且 nginx 可以按照您的预期方式解析它,您最终也会得到一个包含大量空格的正则表达式,我确信这不是您想要的。如果 nginx 无法解析它(这种情况更有可能发生),您只会得到一个语法错误。
您只需要忍受几行长代码,或者使用不太复杂的正则表达式。