2017-07-16 1 views
0

J'utilise Windows 7 pour développer des sites Web. Maintenant, j'ai un problème à réécrire une URL. Essayez de remplacer un point d'interrogation par un trait de soulignement, mais rien ne semble fonctionner.Nginx rewtire point d'interrogation

location /site/ { 
     rewrite "^skript.php([?]{1})(.*)$" skript.php_$2; 
} 

URL doit être « skript.php_ $ args.

Solution nécessaire.

Répondre

0

Le ? est le séparateur pour la chaîne de requête . Les rewrite et location directives utilisent un URI normalisé qui la chaîne de requête a déjà été supprimée et placée dans $args

Il existe un certain nombre de façons d'ajouter _$args à l'URI, en fonction de ce que vous essayez d'atteindre. Par exemple:

location = /foo.php { 
    rewrite^$uri_$args?; 
} 

Ou:

location = /foo.php { 
    return 301 $uri_$args; 
} 

Ou:

rewrite ^/foo.php$ $uri_$args?; 

Voir this et this pour plus de détails.