2017-07-16 1 views
0

Ich verwende Windows 7 für die Entwicklung von Websites. Jetzt habe ich ein Problem beim Umschreiben einer URL. Versuchen Sie, ein Fragezeichen in einen Unterstrich zu ändern, aber nichts scheint zu funktionieren.Nginx rewtire Fragezeichen

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

URL sollte „skript.php_ $ args.

Lösung benötigt.

Antwort

0

Die ? ist das Trennzeichen für die Query-String. Die rewrite und location Richtlinien eine normalisierte URI verwenden, die bereits wurde die Abfragezeichenfolge entfernt und in $args platziert

Es gibt eine Reihe von Möglichkeiten zum Anhängen _$args zum URI, abhängig davon, was Sie erreichen möchten. Zum Beispiel:

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

Oder:

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

Oder:

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

Siehe this und this für weitere Einzelheiten.