Nginx-Umschreiberegel zum Entfernen von Pfadknoten

20

Angenommen, ein Benutzer versucht, mit der folgenden URL auf ein bestimmtes Bild auf meiner Website zuzugreifen: http://www.mywebsite.com/blog/image1.jpg?someParam=100

Ich brauche eine Regel zum Umschreiben, um den 'Blog'-Knoten aus dem Pfad zu entfernen:

http://www.mywebsite.com/image1.jpg?someParam=100

marcosbeirigo
quelle

Antworten:

27

Probier diese:

location /blog {
 rewrite ^/blog(/.*)$ $1 last;
}

Wenn Sie dies für mehr als eine Site benötigen, können Sie es nicht einfach in die Hierarchie aufnehmen, da die "location" -Klausel nicht global angegeben werden kann, sondern nur für eine bestimmte Site. Wenn Sie diese Klausel für zwei oder mehr Sites hinzufügen müssen, können Sie sie in eine andere Konfigurationsdatei einfügen und sie dann einfach in jede Site "einschließen", die diese Umleitung benötigt.

kworr
quelle
Dies funktioniert auf demselben Server. Wie funktioniert es für die verschiedenen Domänen?
Autodidakt
1
Fügen Sie die neue Domain einfach als Teil des Umschreibens hinzu: rewrite ^/blog(/.*)$ https://blog.example.com$1 permanent;
Christophe,