/ / Ako môžem previesť mod_rewrite (možnosť QSA) na ekvivalent Nginx? - regex, mod-prepísať, nginx

Ako môžem konvertovať mod_rewrite (možnosť QSA) na ekvivalent Nginx? - regex, mod-rewrite, nginx

Hľadám previesť nasledujúce mod_rewrite pravidlo Ekvivalent Nginx:

RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]

Zatiaľ mám:

rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;

Problém je (myslím!), Že reťazec dotazu sa nepripojí. Nenašiel som spôsob, ako portovať QSA argument pre Nginx.

odpovede:

16 pre odpoveď č. 1

QSA je v NGINX automatická.

Ak si to neželáte, pridajte na koniec svojej novej polohy ikonu?

prepísať ^ / foo /bar/index.php? last;


5 pre odpoveď № 2

Tieto pravidlá prepisovania zabezpečili fungovanie skriptov:

rewrite ^/foo/([^?]*)(?:?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;