2017-10-16 3 views
1

Ich möchte das erste Zeichen von $args in rewrite

ich folgendes haben ersetzen:

return 302 https://domain/accounts/registration?_uid=1928&_tag=$request_uri&$args; 

wenn $args leer sind, bekomme ich nur einen Link, der mit einem Ende & das ist kein großes Problem, aber wenn ich einige $args habe, bekomme ich something&?arg1, was falsch ist, da &? als eine Fortsetzung des vorherigen Parameters betrachtet wird. Wie kann ich den ersten Buchstaben (?) von $args entfernen?

Antwort

0

$request_uri enthält bereits die optionale ? und die Abfragezeichenfolge. So kommt Ihr extra ? von $request_uri und nicht von $args.

Sie könnten versuchen, $uri&$args statt $request_uri mit denen die eingebetteten ? mit einem & ersetzen werden.

Zum Beispiel:

return 302 https://domain/accounts/registration?_uid=1928&_tag=$uri&$args; 

jedoch keine Prozent-codierten Zeichen in $request_uri durch die Zeit vollständig decodiert werden, dass $uri aufgebaut ist - was kann oder auch nicht Ihre Anwendung auswirken.

Weitere Informationen finden Sie unter this document.