Um den Müll nicht an das Back-End weiterzuleiten, habe ich eine strenge Regel für eine location
Direktive. Es sieht aus wie das:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
Ich möchte die Zeile mit 80 Zeichen falten. Gibt es eine Möglichkeit, die Konfiguration aufzuteilen? Folgendes führt zu einem Syntaxfehler, den ich jedoch suche:
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" {
Ich konnte keine Hinweise in der Dokumentation finden ( http://wiki.nginx.org/ConfigNotation oder http://wiki.nginx.org/HttpCoreModule#location erwähnen nichts über Faltlinien)
nginx
configuration
Lekensteyn
quelle
quelle
Antworten:
Ich glaube nicht, dass du das schaffst.
nginx behandelt alle Leerzeichen gleich. Selbst wenn Sie versuchen würden, Ihre Zeichenfolge so zu teilen, und nginx sie so analysieren könnte, wie Sie es beabsichtigt haben, würden Sie eine Regex mit ein paar Leerzeichen in der Zeichenfolge finden, was ich sicher nicht bin. ' t was du willst. Wenn Nginx es nicht analysieren konnte, was wahrscheinlicher ist, würden Sie nur einen Syntaxfehler erhalten.
Sie müssen nur mit ein paar langen Zeilen leben oder weniger komplexe reguläre Ausdrücke bilden.
quelle
location ".../[a-zA-Z0-9_...-]+$"
Muster festgefahren, dem ein anderes folgtlocation ~ "\.pkg\.tar\.xz$"
. Vielen Dank für Ihre Antwort, hoffentlich zeigt sich eines Tages eine bessere Antwort;)