Para no pasar basura al back-end, tengo una expresión regular estricta para una location
directiva. Se parece a esto:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
Me gustaría doblar la línea en 80 caracteres, ¿hay alguna manera de dividir la configuración? Lo siguiente produce un error de sintaxis, pero es algo que estoy buscando:
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" {
No pude encontrar sugerencias en la documentación ( http://wiki.nginx.org/ConfigNotation ni http://wiki.nginx.org/HttpCoreModule#location mencionan nada sobre líneas plegables)
nginx
configuration
Lekensteyn
fuente
fuente
Respuestas:
No creo que puedas hacer esto.
nginx trata todos los espacios en blanco por igual, por lo que incluso si intentas dividir tu cadena de esa manera, y nginx podría analizarlo de la manera que quisieras, terminarías con una expresión regular con un montón de espacios en blanco, lo que estoy seguro es que no t lo que quieras. Si nginx no pudiera analizarlo, lo que es más probable, obtendría un error de sintaxis.
Tendrás que vivir con unas pocas líneas largas o hacer expresiones regulares menos complejas.
fuente
location ".../[a-zA-Z0-9_...-]+$"
patrón seguido por otrolocation ~ "\.pkg\.tar\.xz$"
dentro. Gracias por su respuesta, espero que algún día aparezca una mejor respuesta;)