regex - convert - redirect nginx 301
¿Cómo convierto mod_rewrite(opción QSA) a Nginx equivalente? (2)
Estoy buscando convertir la siguiente regla mod_rewrite
al equivalente de Nginx :
RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]
Hasta ahora tengo:
rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;
El problema es (¡creo!) Que la cadena de consulta no se anexa. No he encontrado una forma de QSA
argumento de QSA
a Nginx.
Estas reglas de reescritura hicieron que los scripts funcionen:
rewrite ^/foo/([^?]*)(?:/?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
QSA es automático en NGINX.
Si no lo quieres, agrega? hasta el final de su nueva ubicación
reescribir ^ / foo /bar/index.php? último;