Para alterar o URL exibido no campo de endereço do navegador do cliente, você precisa de um redirecionamento externo :
rewrite ^(.*)[-_](.*)$ $1$2 permanent;
Se você precisar restringir o escopo da regravação, por exemplo, para que /http-bind/
seja não reescrito, você pode tornar a regex mais específica:
rewrite ^(/[^/]*)[-_]([^/]*)$ $1$2 permanent;
Explicação: captura e combina barra anterior seguida de zero ou mais caracteres não-barra. Corresponder hífen ou sublinhado. Capture e combine zero ou mais caracteres não slash.
As duas reescritas serão redirecionadas com uma resposta HTTP 301, repetidamente, até que todos os [-_]
sejam removidos.
Coloque o rewrite
antes do primeiro bloco location
.
Se você colocar o rewrite
dentro de um bloco location
, assegure-se de que o local corresponda ao intervalo de URIs que a reescrita deve reescrever. No entanto, a regra de reescrita já é bastante específica, portanto, a presença de um bloco de localização é bastante redundante.
Veja este documento para saber mais.