nginx rewrite rule mit Ausnahme

webweb

New Member
Hallo liebe Serversupport-Gemeinde,

meine Recherchen im Netz sind leider bisher erfolglos verlaufen, daher erstelle ich hier nun einen Thread.

Kann mir vielleicht jemand von euch eine Rewrite Rule für den nginx webserver verraten?^^

Ich möchte sämtliche Anfragen von http:// auf https:// umleiten, bis auf die URLs, die beispielsweise die Parmeter &param=1 &param=2 haben.
Eine Anfrage mit &param=3 würde wieder nach https:// umgeschrieben, &param=1 &param=2 auf http:// bzw. würden bei http:// bleiben.

Vielen Dank für Lösungsansätze!
 
Leider ist das mit nginx etwas umständlich.
Ich würde das mit mehreren Ifs machen.

Ich bin zwar nicht der nginx Profi, aber so müsste es mMn klappen:

Code:
#zunächst überprüfen ob Anfrage als https kommt, dann Variable test gleich "A" setzen.
if ($scheme = https){
         set $test A;
}

#gucken ob eine der Seiten aufgerufen wurden, die eine Ausnahme darstellen sollen
if ($args ~ page=meinePage){
         set $test "${test}B";
}

#Wenn Aufruf oper https erfolgt und die Ausnahmeseite aufgerufen wurde auf http umleiten.
if ($test = AB){
         rewrite ^ http://domain.de/seite.php?page=meinePage permanent;
}

#Wenn aufruf per http kommt, Variable test um "R" ergänzen
if ($scheme = http){
         set $test "${test}R";
}

#Alle Anfragen, bei denen $test NUR "R" enthält, wird auf https umgeleitet (damit kein duplicate content entsteht und die Seite nur über https erreichbar ist).
Wenn der Aufruf aber die Ausnahmeseite ist, ist $test nicht nur R, und es bleibt daher beim http und wird NICHt auf https umgeleitet.
if ($test = R){
         rewrite ^(.*)$ https://jetforce-community.de/$1 redirect;
}

Gruß homeserver
 
Last edited by a moderator:
Back
Top