Solución:
Utilizo la siguiente reescritura en la cláusula del servidor de nivel superior:
rewrite ^(.*)/index.html$ $1 permanent;
Usar esto solo funciona para la mayoría de las URL, como http://foo.com/bar/index.html
, pero se rompe http://foo.com/index.html
. Para resolver esto, tengo la siguiente regla adicional:
location = /index.html {
rewrite ^ / permanent;
try_files /index.html =404;
}
los =404
part devuelve un error 404 cuando no se encuentra el archivo.
No tengo idea de por qué la primera reescritura por sí sola no es suficiente.
La siguiente configuración me permitió redirigir /index.html
para /
y /subdir/index.html
para /subdir/
:
# Strip "index.html" (for canonicalization)
if ( $request_uri ~ "/index.html" ) {
rewrite ^(.*)/ $1/ permanent;
}
Este funciona:
# redirect dumb search engines
location /index.html {
if ($request_uri = /index.html) {
rewrite ^ $scheme://$host? permanent;
}
}
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)