NGINX: tira querystring na reescrita

3

Gostaria de fazer uma 301 reescrita no índice dos sites sem qualquer querystring. Assim:

http://example.com/anypage.asp?anyvar=anyvalue

Para:

http://example.com/

Aqui está um exemplo real:

http://atipico.com.br/conteudo.asp?P_categ=23

Estou tentando seguir o seguinte: link

(O comentário são minhas tentativas):

location ~ /conteudo\.asp(.*)$ {
    #rewrite ^ / permanent;
    #rewrite ^ /? permanent;
    #return 301 /;
    #return 301 /?;
    #if ($args) { return 301 /; }
}

Ele sempre reescreve para http://atipico.com.br/?P_categ=23

Alguma idéia?

    
por Roger 19.10.2011 / 19:59

1 resposta

5

Esta é a melhor regra que encontrei e está funcionando para mim:

rewrite ^/content /? permanent;

Significado, reescreva todas as solicitações:

  • iniciando na raiz do domínio (^ /)

  • seguido por "conteúdo"

  • para a raiz (índice) do site (/)

  • removendo todas as strings de consulta que ele possa ter (?)

  • e mostra um redirecionamento 301 nos cabeçalhos.

Eu acho que é isso.

    
por 23.10.2011 / 18:11