Removendo barras finais de certas URL's no nginx

1

Recentemente, mudei meu blog do uso do WordPress para o Jekyll (gosto da idéia de arquivos estáticos para o meu blog). Estou usando o Nginx (estava usando-o com o PHP-FPM antes) e tenho as coisas configuradas para lidar com as coisas. Eu encontrei um problema que não sei como consertar.

A estrutura da URL que estou usando é

/atthekeyboard/YYYY/MM/DD/title-of-post 

Eu tenho cerca de 5 anos de postagens indexadas pelo Google e elas são

/attheykeyboard/YYYY/MM/DD/title-of-post/

Eu quero reescrever todas as chamadas mais antigas com a barra à direita para usar o URL de barra não traçada até que o Google indexe todas as novas coisas.

Aqui está o material de configuração do nginx que eu já tenho:

    location /atthekeyboard {
            index index.html;
            try_files $uri.html $uri/ /notfound.html;
    }

Estou usando try_files porque as postagens são salvas como title-of-post.html e eu não queria a parte .html.

Agradecemos antecipadamente por seus conselhos e soluções!

    
por GrumpyCanuck 28.02.2011 / 03:22

2 respostas

2

Algo como isso deve remover a barra final e deixar Nginx repassar os blocos de localização.

location ~ ^(/atthekeyboard/.+)/$ {
    set $noslash $1;
    rewrite ^ $noslash permanent;
}
    
por 28.02.2011 / 12:44
0

eu acho que o HTTPRewriteModule é o que você está procurando

    
por 28.02.2011 / 03:29

Tags