O endereço de reconfiguração Nginx não adiciona parâmetros automaticamente

3

Endereço de solicitação original:

www.example.com/index.php?r=mobile/receive/index

Endereço de solicitação reescrito:

www.example2.com/newindex.php?r=mobile2/receive2/index2

Aqui está minha configuração:

if ($args ~* "^r=mobile/receive/index") {
    rewrite ^ "http://www.example2.com/newindex.php?r=mobile2/receive2/index2";
}

Mas o final do endereço reescrito é assim:

http://www.example2.com/index.php?r=mobile2/receive2/index2&r=mobile/receive/index

Você vê meu problema? O endereço reescrito é adicionado automaticamente, mas isso não é o que eu quero. As mesmas chaves de parâmetro resultarão na frente da capa traseira.

    
por xiaoxing598 21.11.2016 / 07:52

1 resposta

3

Para impedir que a string de consulta original seja anexada ao URL de destino, você precisa incluir um ponto de interrogação adicional ( ? ) no final do URL reescrito. Por exemplo:

rewrite ^ http://www.example2.com/newindex.php?r=mobile2/receive2/index2?;

Referência: link

    
por 21.11.2016 / 10:10

Tags