Eu corrigi a questão de uma maneira interessante que não faz sentido para mim. Parece que try_files
está bagunçando as coisas, então fiz o seguinte na minha configuração para fazer tudo funcionar:
server {
listen *:80;
server_name _;
port_in_redirect on;
server_name_in_redirect off;
index index.html index.htm index.php;
access_log /var/log/nginx/default.access.log combined;
error_log /var/log/nginx/default.error.log;
location / {
rewrite ^/(.+)/+$ $scheme://$http_host/$1 permanent;
root /vagrant/_site;
index index.html index.htm index.php;
try_files $uri $uri/index.html $uri/ =404;
}
}
Meu objetivo, se não for imediatamente claro, é que as postagens não terminem em uma barra.
Minha estrutura de diretório real exibida se parece com isso:
/vagrant/_site/2015/
'-- 08
'-- from-hell-flying-united-airlines
'-- index.html
Portanto, digo ao NGINX que, para cada solicitação, quero tentar localizar um arquivo em $uri
, $uri/index.html
e $uri/
. Se nenhuma dessas coisas funcionar, retorne um 404.