Ich bin sicher, dass dies schon einmal gefragt wurde, aber ich kann keine Lösung finden, die funktioniert.
Eine Website hat den CMS-Dienst gewechselt, hat jedoch dieselbe Domain. Wie richte ich eine Nginx-Umschreibung für eine einzelne Seite ein?
Z.B
Alte Seite
http://sitedomain.co.uk/content/unique-page-name
Neue Seite
http://sitedomain.co.uk/new-name/unique-page-name
Bitte beachten Sie , dass nicht alle Inhalte der Inhaltsseite umgeleitet werden sollen, sondern nur die oben genannte URL. Ich muss ungefähr 9 Weiterleitungen einrichten, von denen keine in ein Muster passen.
Vielen Dank!
Edit: Ich habe diese Lösung gefunden, die anscheinend funktioniert, abgesehen von der Tatsache, dass sie ohne Schrägstrich umleitet:
if ( $request_filename ~ content/unique-page-name/ ) {
rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent;
}
Dies leitet jedoch weiter zu:
http://sitedomain.co.uknew-name/unique-page-name/
if
Anweisungen in Nginx schlecht ist? Wäre dies immer noch eine bessere Übung als das Umschreiben?if
zusammen mit der Rückgaberichtlinie ist vollkommen in Ordnung. Siehe wiki.nginx.org/IfIsEvil . Ja, IMO, es ist besser als das Umschreiben.Idealerweise sollten Sie if-Anweisungen nicht verwenden, wenn Sie dies vermeiden können. So etwas könnte funktionieren (ungetestet).
quelle
Ich habe die folgende Lösung verwendet:
Funktioniert ein Vergnügen.
quelle
Bei mir hat es ohne das Gleichheitszeichen so geklappt:
quelle
rewrite
. Siehe @ SteveEdisons Antwort.