Corresponder… caractere na regra de reescrita com nginx

1

Eu tenho um problema, onde alguém adicionou um link para o nosso site - mas está ficando cortado. Eu estou vendo no arquivo de log, como:

/info-cry%E2%80%A6

Vendo como eu sei o que isso significa, eu estou tentando criar uma regra de reescrita para ela na minha configuração nginx para o site. Eu tentei os dois abaixo:

rewrite ^/info-cry%E2%80%A6 https://example.com/info-cryptex-16gb-usb-drive-587.html permanent;
rewrite ^/info-cry… https://example.com/info-cryptex-16gb-usb-drive-587.html permanent;

.. mas nunca corresponde (apenas mostra a nossa página 404 personalizada). Existe uma maneira que eu possa conseguir isso? Eu realmente quero que isso funcione - já que estamos recebendo muitos acessos à URL quebrada

    
por Andrew Newby 31.08.2015 / 19:37

1 resposta

1

Isso é estranho. No nginx 1.6.2 do Ubuntu 15.04 com todos os módulos padrão, eu posso fazer

location / {
    rewrite ^/foo… http://example.com permanent;
}

... e obtenha o redirecionamento esperado.

Supondo que você tenha recarregado o nginx e desativado o cache do navegador, tem certeza de que a reescrita está acontecendo em um bloco de local que corresponda a /info-cry… ? Também é possível que você precise prefixar (*UTF8) para uma definição regex um bloco de localização.

    
por 31.08.2015 / 21:07

Tags