2016-05-20 15 views
0

Wir haben die Assets in einen neuen Container oder Ordner verschoben. Von /documents/THE_FILE.pdf wurde zu /assets/client_files/files/documents/THE_FILE.pdf verschoben bemerkt, der Pfad ist jetzt innerhalb /assets/cleint_files/files/ Verzeichnis.Nginx: Umleiten einer bestimmten Dateipfad-URL zu ihrem neuen Pfad url

Das Problem ist, wir haben bereits viele Inhalte, die Links zur Datei haben, aber den alten Pfad verwenden. Ich möchte die Arbeit einfach machen, da es auf der gesamten Website etwa 2.000 Instanzen gibt. Ich hoffe, dass dies mit nginx getan werden könnte, dass es eine bestimmte URL zu seiner neuen URL umleiten wird, wenn es einen Link wie diesen http://www.domain.com/documents/THE_FILE.pdf entdeckt. Solange der erste Pfad der URL /documents/ ist, wird er auf den neuen Pfad umgeleitet: /assets/client_files/files/documents/

Vielen Dank.

Antwort

4

Eine einfache Neuschreiben wird tun, fügen Sie dies zu Ihrem Server-Block.

rewrite ^(/documents/.*)$ /assets/client_files/files$1 permanent; 

Dies wird ein 301-Weiterleitung ot Anfragen mit URI starrt mit /documents/ auf den neuen Pfad werfen.

Weitere Informationen zu Nginx Rewrite, überprüfen Sie die docs here

UPDATE

Auch können Sie diese ähnliche

location /documents/ { 
    rewrite ^(.*)$ /assets/client_files/files$1 permanent; 
} 
+0

leider in einem Ort zu tun, aber ich kann nicht Server-Block verwenden , stattdessen nur Standortblock. Gibt es eine Möglichkeit, das mit dem Standortblock zu tun? – Tinker

+1

@Tinker Ich habe die Antwort aktualisiert, schau es dir an. – Lution

+0

Möchten Sie 'return 301' nicht verwenden, um Seo und Roboter zu unterstützen? –

Verwandte Themen