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

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.


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,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.