Heim  >  Fragen und Antworten  >  Hauptteil

Die Auswirkungen des Anhängens von Schrägstrichen an sekundäre Nginx-Verzeichnisse

Mein Webprogramm befindet sich im Verzeichnis app1. Beim Zugriff über http://server.com/app1/ ist alles normal. Beim Zugriff über http://server.com/app1 sind die Hyperlinks jedoch vorhanden Dieses sekundäre Verzeichnis fehlt zum Beispiel

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

Zeigt auf http://server.com/static/sytle.css statt auf http://server.com/app1/static/sytle.c... und führt zu einem Fehler bei der Ressourcenbeschaffung.

Ich weiß, dass ich durch das Hinzufügen von Regeln springen kann

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

Aber dadurch wird der URL ein zusätzlicher Schrägstrich hinzugefügt. Gibt es eine andere Möglichkeit?

Das Folgende ist meine Nginx-Konfiguration:

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

Antworte allen(1)Ich werde antworten

  • 阿神

    阿神2017-05-16 17:31:56

    正如评论里 DaiJie 所说的,出现这个问题的非常正常,web server 和浏览器默认行为是正确的。
    建议题主使用绝对路径或者含域名的完整地址来引用静态资源。

    Antwort
    0
  • StornierenAntwort