2 votes

L'adresse de réécriture de Nginx n'ajoute pas automatiquement les paramètres

Adresse de la demande originale :

www.example.com/index.php?r=mobile/receive/index

Adresse de la demande réécrite :

www.example2.com/newindex.php?r=mobile2/receive2/index2

Voici ma propre configuration :

if ($args ~* "^r=mobile/receive/index") {
    rewrite ^ "http://www.example2.com/newindex.php?r=mobile2/receive2/index2";
}

Mais la fin de l'adresse réécrite est comme ceci :

http://www.example2.com/index.php?r=mobile2/receive2/index2&r=mobile/receive/index

Vous voyez mon problème ? L'adresse réécrite est automatiquement ajoutée, mais ce n'est pas ce que je veux. En utilisant les mêmes clés de paramètres, on obtient le recto de la couverture arrière.

2voto

MrWhite Points 11269

Afin d'éviter que la chaîne de requête originale soit ajoutée à l'URL cible, vous devez inclure un point d'interrogation supplémentaire ( ? ) à la fin de l'URL réécrite. Par exemple :

rewrite ^ http://www.example2.com/newindex.php?r=mobile2/receive2/index2?;

Référence :
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X