Miklix

Coincidir con la ubicación según la extensión del archivo con NGINX

Publicado: 15 de febrero de 2025, 1:41:18 UTC

Este artículo explica cómo hacer coincidencias de patrones basadas en extensiones de archivos en contextos de ubicación en NGINX, lo cual es útil para reescribir URL o para manejar archivos de manera diferente según su tipo.


Esta página ha sido traducida automáticamente del inglés para hacerla accesible al mayor número de personas posible. Lamentablemente, la traducción automática no es todavía una tecnología perfeccionada, por lo que pueden producirse errores. Si lo prefiere, puede consultar la versión original en inglés aquí:

Match Location Based on File Extension with NGINX

La información de esta publicación se basa en NGINX 1.4.6 ejecutándose en Ubuntu Server 14.04 x64. Puede ser válida o no para otras versiones.

No soy muy bueno con las expresiones regulares (algo en lo que probablemente debería trabajar, lo sé), por lo que a menudo necesito leer sobre el tema cuando tengo que hacer algo más que la coincidencia de patrones más simple, por ejemplo, en el contexto de ubicación de NGINX.

Una opción muy útil si necesitas gestionar tipos de archivos específicos de forma diferente es la posibilidad de hacer coincidir una ubicación en función de la extensión del archivo solicitado. Y también es muy fácil: tu directiva de ubicación podría verse así:

location ~* \.(js|css|html|txt)$
{
    // do something here
}

Por supuesto, puedes cambiar las extensiones según tus necesidades.

El ejemplo anterior no distingue entre mayúsculas y minúsculas (por ejemplo, coincidirá con .js y .JS). Si desea que distinga entre mayúsculas y minúsculas, simplemente elimine el * después del ~.

Lo que hagas con el archivo depende de ti; normalmente, lo reescribirías en un back-end que realiza algún tipo de preprocesamiento, o quizás solo quieras leer los archivos desde otras carpetas distintas a las que aparecen para el público, las posibilidades son infinitas ;-)

Compartir en BlueskyCompartir en FacebookCompartir en LinkedInCompartir en TumblrCompartir en XCompartir en LinkedInPin en Pinterest

Mikkel Bang Christensen

Sobre el autor

Mikkel Bang Christensen
Mikkel es el creador y propietario de miklix.com. Tiene más de 20 años de experiencia como programador informático profesional y desarrollador de software, y actualmente trabaja a tiempo completo para una gran empresa europea de TI. Cuando no está escribiendo en su blog, dedica su tiempo libre a una gran variedad de intereses, aficiones y actividades, que en cierta medida pueden verse reflejados en la variedad de temas tratados en este sitio web.