Afin de ne pas passer les ordures au back-end, j'ai une regex stricte pour une location
directive. Cela ressemble à ceci:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
Je voudrais plier la ligne à 80 caractères, existe-t-il un moyen de diviser la configuration? Les résultats suivants génèrent une erreur de syntaxe, mais c'est quelque chose que je recherche:
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" {
Je n'ai pas pu trouver d'indices dans la documentation ( http://wiki.nginx.org/ConfigNotation ni http://wiki.nginx.org/HttpCoreModule#location ne mentionnent rien sur les lignes de pliage)
nginx
configuration
Lekensteyn
la source
la source
Réponses:
Je ne pense pas que vous puissiez faire ça.
nginx traite tous les espaces de manière égale, donc même si vous essayez de diviser votre chaîne comme ça, et que nginx pourrait l'analyser comme vous le vouliez, vous vous retrouveriez avec une expression régulière avec un tas d'espaces en elle, ce qui, j'en suis sûr, n'est pas '' t ce que vous voulez. Si nginx ne pouvait pas l'analyser, ce qui est plus probable, vous obtiendriez simplement une erreur de syntaxe.
Vous allez juste devoir vivre avec quelques longues lignes ou faire des expressions régulières moins complexes.
la source
location ".../[a-zA-Z0-9_...-]+$"
motif suivi d'un autre à l'location ~ "\.pkg\.tar\.xz$"
intérieur. Merci pour votre réponse, j'espère qu'un jour une meilleure réponse apparaîtra;)