Saya cukup baru di konfigurasi nginx. Saya mengalami beberapa kesulitan dengan masalah yang cukup mendasar. Saya ingin meng-host beberapa file statis di / doc (index.html, beberapa gambar, dll). File-file tersebut terletak di direktori yang disebut / sites / mysite / proj / doc /.
Masalahnya adalah, bahwa dengan konfigurasi nginx di bawah ini, nginx mencoba mencari direktori yang disebut "/ sites / mysite / proj / doc / doc". Mungkin ini dapat diperbaiki dengan menyetel root ke / sites / mysite / proj /, tapi saya tidak ingin berpotensi mengekspos aset (non-statis) lainnya di direktori proj /. Dan karena berbagai alasan, saya tidak bisa memindahkan direktori / doc dari tempatnya.
Saya pikir ada cara untuk menggunakan aturan Menulis Ulang untuk menyelesaikan situasi ini, tapi saya tidak benar-benar mengerti semua bagian, sehingga mengalami kesulitan merumuskan aturan.
rewrite ^/doc/(.*)$ /$1 permanent;
Saya juga menyertakan contoh kerja file hosting dari direktori / sites / mysite / htdocs / static /.
> vim locations.conf
location /static {
root /sites/mysite/htdocs/;
access_log off;
autoindex on;
}
location /doc {
root /sites/mysite/proj/doc/;
access_log on;
autoindex on;
}
2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"
Adakah yang tahu bagaimana saya bisa menyajikan konten statis ini?
root
daripada menurut dokumen yang Anda rujuk (lihat "Ketika lokasi cocok dengan bagian terakhir dari nilai arahan")