Agar tidak membuang sampah ke back-end, saya memiliki regex yang ketat untuk location
arahan. Ini terlihat seperti ini:
location ^~ "/(some|stuff|more|bar|etc(-testing)?)/[a-zA-Z0-9]+/...(more|restrict).ext {
# other directives
}
Saya ingin melipat garis pada 80 karakter, apakah ada cara untuk membagi konfigurasi? Berikut ini menghasilkan kesalahan sintaks, tetapi sesuatu yang saya cari:
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" {
Saya tidak dapat menemukan petunjuk dalam dokumentasi ( http://wiki.nginx.org/ConfigNotation atau http://wiki.nginx.org/HttpCoreModule#lokasi menyebutkan apa pun tentang melipat garis)
nginx
configuration
Lekensteyn
sumber
sumber
Jawaban:
Saya tidak berpikir Anda bisa melakukan ini.
nginx memperlakukan semua spasi putih dengan sama, jadi bahkan jika Anda mencoba untuk membagi string Anda seperti itu, dan nginx dapat menguraikannya seperti yang Anda inginkan, Anda akan berakhir dengan regex dengan banyak spasi putih di dalamnya, yang saya yakin bukan t apa yang kamu inginkan. Jika nginx tidak dapat menguraikannya, yang lebih mungkin, Anda hanya akan mendapatkan kesalahan sintaksis.
Anda hanya harus hidup dengan beberapa garis panjang, atau membuat ekspresi reguler yang tidak terlalu rumit.
sumber
location ".../[a-zA-Z0-9_...-]+$"
pola yang diikuti olehlocation ~ "\.pkg\.tar\.xz$"
bagian dalam yang lain . Terima kasih atas jawaban Anda, semoga suatu hari jawaban yang lebih baik akan muncul;)