2016-10-12 3 views
0

Aufgrund einer Migration muss ich Verkehr von /index.php?page=1 nach/Seite/1 umleiten. Ich möchte nur, dass die Regel ausgelöst wird, wenn ein bestimmter Parameter festgelegt wurde (Seite in diesem Beispiel). Von dem, was ich verstehe, sollte das folgende funktionieren:Was ist die korrekte Syntax für diese if-Anweisung in nginx

location = /index.php { 
    if($arg_page) { 
     return 301 $scheme://test.mydomain.com/page/$arg_page; 
    } 
} 

Dies schlägt jedoch fehl, die gesamte Website wird nicht geladen. Wenn ich die if-Anweisung herausnehme, funktioniert es, aber dann wird der gesamte Verkehr zu URLs, die mit /index.php beginnen, umgeleitet. Es sollte nur umleiten, wenn der Abfrageparameter "Seite" vorhanden ist. Was fehlt mir hier?

+0

Die ganze config und Fehlermeldung –

Antwort

2

Geben Sie dieses ein Versuch -

if ($arg_page) { 
    rewrite ^/index.php $scheme://test.mydomain.com/page/$arg_page? permanent; 
} 
+0

Awesome, das funktioniert! Vielen Dank! – Owen

Verwandte Themen