Ihr (.*)
erfasst auch den /
Charakter. Sie müssen es ausschließen, um eine Schleife zu verhindern.
Versuchen:
rewrite ^(/[^/]+)$ $1/system redirect;
Sehen Sie sich diese nützliche Ressource für reguläre Ausdrücke an.
Ich möchte eine URL mit einem bestimmten Variablenpfad nur für eine bestimmte Benutzer-IP umschreiben.
http://domain.com/variable
Soll werden:
http://domain.com/variable/system
Wenn jedoch ein anderer Pfad dem Pfad / variable folgt, sollte dieser unverändert bleiben. Die folgende URL sollte also gleich bleiben:
http:/domain.com/variable/something-else
Ich habe den folgenden Code ausprobiert
if ($http_x_forwarded_for = xxx.xxx.x.xx) { rewrite ^/(.*)$ http://domain.com/$1/system redirect; }
Wenn Sie diesen Code ausführen, scheint er jedoch eine Schleife zu erhalten
http://domain.com/variable/system/system/system/system ....
Ich verstehe, was schief geht, aber ich weiß nicht, wie ich dies leicht / richtig beheben kann. Jede Hilfe wäre sehr dankbar.
Ihr (.*)
erfasst auch den /
Charakter. Sie müssen es ausschließen, um eine Schleife zu verhindern.
Versuchen:
rewrite ^(/[^/]+)$ $1/system redirect;
Sehen Sie sich diese nützliche Ressource für reguläre Ausdrücke an.