nginx mit ODER legen Sie bei regex für die Karte

Ich versuche zu schreiben, eine Karte für meine website und es funktioniert Super:

map $request_uri $redirect_uri {
  /en/oldname    /en/newname;
  /de/oldname    /de/newname;
  /fr/oldname    /fr/newname;
}

bis ich versuchen, zu implementieren, einige regex, so etwas wie dieses:

map $request_uri $redirect_uri {
  /(?<lang>(en|de|fr))/oldname    /$lang/newname;
}

Der Karte oben nicht funktioniert, und aufgrund der fehlenden debugging-Kenntnisse - ich bin nicht in der Lage zu wissen, warum. Selbst die basic-regex (ohne Namen erfasst) ist nicht für mich arbeiten:

map $request_uri $redirect_uri {
  /(en|de|fr)/oldname    /en/newname;
}

nginx 1.10.3

Bitte helfen Sie mir, um herauszufinden, was mache ich falsch?

InformationsquelleAutor Mike | 2017-07-11
Schreibe einen Kommentar