Estou exibindo um site estático via nginx, e meu objetivo é substituir os URLs que se parecem com:
com
A chave não é barra final. Atualmente, estou fazendo algo semelhante usando alias de localização, mas isso é tedioso porque requer um bloco de localização para cada arquivo e também acrescenta uma barra à direita, já que o nginx analisa aliases como diretórios:
location / {
root /srv/www/foo/public_html;
index index.html;
}
location /bar1 {
alias /srv/www/foo/public_html/;
index bar1.html;
}
location /bar2 {
alias /srv/www/foo/public_html/;
index bar2.html;
}
E assim por diante. Eu li a documentação sobre reescritas e não consigo sintetizar o que está sendo dito no que eu preciso fazer. Eu não estou voltando de um ambiente Apache; O nginx é minha primeira incursão em servidores da Web, então tenho certeza de que estou perdendo algo óbvio, pois meu background HTTP é fraco. Agradecemos antecipadamente por qualquer ajuda que você pode proporcionar.
try_files $uri.html $uri/ =404;
um SEO melhor seria, pois você não teria dois URLs foobar.com/bar e foobar.com/bar.html apontando para o mesmo recurso.De acordo com o comentário de @Khaja, a melhor resposta é:
Para que apenas uma cópia do recurso seja veiculada (sem extensão .html). Você não deseja dividir a força do link entre vários URLs que exibem conteúdo duplicado. Encontre a documentação aqui .
fonte