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.
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í:
{
// 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 ;-)