2017-03-07 4 views
1

Wenn Benutzer besucht:Return mit wechselnden Zahl in Quell-URL

/profile.php?mode=viewprofile&u=[NUMBER FROM 1 TO 4000] 

Ich möchte nginx zurückzukehren:

/memberlist.php?mode=viewprofile&u=[SAME NUMBER] 

Wie kann ich es tun? Danke für die Hilfe.

Antwort

1

Das Problem ist, dass Sie und mode=viewprofile entsprechen müssen, was nicht trivial nginx ist. Es gibt eine Reihe von Möglichkeiten, dies zu erreichen.

Sie könnten den location ~\.php$ Block und fügen Sie die bedingte Umleitung dort replizieren:

location = /profile.php { 
    if ($arg_mode = viewprofile) { 
     return 301 /memberlist.php?$args; 
    } 
    ... # add location ~\.php$ stuff here 
} 

Alternativ können Sie die $ request_uri (die die ursprünglichen URI einschließlich Abfrage-String enthält), in den frühen server Block:

if ($request_uri ~ "^/profile\.php\?mode=viewprofile&") { 
    return 301 /memberlist.php?$args; 
} 

Siehe this caution über die Verwendung der if Anweisung.

Verwandte Themen