Estoy sirviendo un sitio estático a través de nginx, y mi objetivo es reemplazar las URL que se ven así:
con
La clave no es una barra inclinada final. Actualmente estoy haciendo algo similar usando alias de ubicación, pero esto es tedioso porque requiere un bloque de ubicación para cada archivo, y también agrega una barra diagonal ya que nginx mira los alias como directorios:
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;
}
Y así. He leído la documentación sobre reescrituras, y parece que no puedo sintetizar lo que se dice sobre lo que necesito que haga. No voy a venir de un fondo Apache; nginx es mi primera incursión en los servidores web, así que estoy seguro de que me falta algo obvio ya que mi fondo HTTP es débil. Gracias de antemano por cualquier ayuda que pueda proporcionar.
try_files $uri.html $uri/ =404;
sería mejor SEO, ya que no tendría dos URL foobar.com/bar y foobar.com/bar.html apuntando al mismo recurso.Según el comentario de @Khaja, la mejor respuesta es:
Para que solo se sirva una copia del recurso (sin extensión .html). No desea dividir la fuerza de su enlace en varias URL que sirven contenido duplicado. Encuentra la documentación aquí .
fuente