L'impact de l'ajout de barres obliques aux répertoires secondaires nginx
为情所困
为情所困 2017-05-16 17:29:56
0
1
646

Mon programme Web se trouve dans le répertoire app1. Lors d'un accès via http://server.com/app1/, tout est normal. Cependant, lors d'un accès via http://server.com/app1, les hyperliens dans la page seront. manquant. Ce répertoire secondaire, par exemple

<link type="text/css" rel="stylesheet" href="static/style.css" />

Pointe vers http://server.com/static/sytle.css au lieu de http://server.com/app1/static/sytle.c... provoquant un échec d'acquisition des ressources.

Je sais que je peux sauter en ajoutant des règles

rewrite ^([^.]*[^/])$ / permanent;

Mais cela ajoutera une barre oblique supplémentaire à l'URL. Existe-t-il un autre moyen ?

Voici ma configuration nginx :

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;
        }
为情所困
为情所困

répondre à tous(1)
阿神

Comme DaiJie l'a dit dans les commentaires, il est tout à fait normal que ce problème se produise, et le comportement par défaut du serveur Web et du navigateur est correct.
Il est recommandé au sujet d'utiliser des chemins absolus ou des adresses complètes incluant des noms de domaine pour référencer des ressources statiques.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal