Como faço para converter mod_rewrite (opção QSA) para Nginx equivalente?
-
07-07-2019 - |
Pergunta
Eu estou olhando para converter a seguinte regra mod_rewrite
ao Nginx equivalentes:
RewriteRule ^foo/(.*)$ /bar/index.php?title=$1 [PT,L,QSA]
RewriteRule ^foo/*$ /bar/index.php [L,QSA]
Até agora eu tenho:
rewrite ^foo/(.*)$ /bar/index.php?title=$1&$query_string last;
rewrite ^foo/?$ /bar/index.php?$query_string break;
O problema é (eu acho!) Que a string de consulta não se anexa. Eu não encontrei uma maneira de porto o argumento QSA
para Nginx.
Solução 2
Estas regras de reescrita fez os scripts de trabalho:
rewrite ^/foo/([^?]*)(?:\?(.*))? /bar/index.php?title=$1&$2;
rewrite ^/foo /bar/index.php;
Outras dicas
QSA é automática em NGINX.
Se você não quiser, acrescentar? até o fim de sua nova localização
/bar/index.php reescrita ^ / foo? passado;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow