Atur cara web saya berada dalam direktori app1 Apabila diakses menggunakan http://server.com/app1/, semuanya adalah normal hilang. Direktori kedua ini, contohnya
<link type="text/css" rel="stylesheet" href="static/style.css" />
Menunjuk ke http://server.com/static/sytle.css dan bukannya http://server.com/app1/static/sytle.c... menyebabkan kegagalan pemerolehan sumber.
Saya tahu saya boleh melompat dengan menambah peraturan
rewrite ^([^.]*[^/])$ / permanent;
Tetapi ini akan menambah garis miring pada URL Adakah terdapat cara lain?
Berikut ialah konfigurasi nginx saya:
set $dir /home/user/apps; location ~ static/(.*)$ { alias $dir/$uri; } location ~ ^/([^/]+) { set $app ; include uwsgi_params; uwsgi_pass unix:///tmp/uwsgi_vhosts.sock; uwsgi_param UWSGI_CHDIR $dir/$app/; uwsgi_param UWSGI_PYHOME $dir/$app/; uwsgi_param PATH_INFO /; uwsgi_param UWSGI_SCRIPT index; uwsgi_param SERVER_NAME $server_name.$app; }
Seperti yang dikatakan oleh DaiJie dalam komen, adalah perkara biasa untuk masalah ini berlaku, dan tingkah laku lalai pelayan web dan penyemak imbas adalah betul.
Adalah disyorkan agar subjek menggunakan laluan mutlak atau alamat lengkap termasuk nama domain untuk merujuk sumber statik.