Para não passar lixo para o back-end, tenho uma regex estrita para uma location
diretiva. Se parece com isso:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
Gostaria de dobrar a linha em 80 caracteres, existe uma maneira de dividir a configuração? O seguinte resulta em um erro de sintaxe, mas é algo que estou procurando:
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" {
Não foi possível encontrar dicas na documentação ( http://wiki.nginx.org/ConfigNotation nem http://wiki.nginx.org/HttpCoreModule#location mencionam algo sobre linhas dobradas)
nginx
configuration
Lekensteyn
fonte
fonte
Respostas:
Eu não acho que você pode fazer isso.
O nginx trata todo o espaço em branco da mesma forma; mesmo que você tente dividir sua string dessa maneira, e o nginx possa analisá-lo da maneira que você deseja, você terminará com uma regex com um monte de espaço em branco, o que, com certeza, não é ' o que você quer. Se o nginx não puder analisá-lo, o que é mais provável, você receberá um erro de sintaxe.
Você só terá que conviver com algumas longas filas ou fazer expressões regulares menos complexas.
fonte
location ".../[a-zA-Z0-9_...-]+$"
padrão seguido por outro porlocation ~ "\.pkg\.tar\.xz$"
dentro. Obrigado pela sua resposta, espero que algum dia uma resposta melhor mostra-se;)