En Nginx existe try_filesuna directiva de configuración que "comprueba la existencia de archivos en orden y devuelve el primer archivo que se encuentra". Me parece muy ordenado hacer esto
location ~* \.(gif|jpe?g|css|js)$ {
try_files $uri 404;
}
que es una forma segura de servir directamente archivos estáticos, sin molestar a los marcos web. ¿Cómo puedo hacer lo mismo en Apache?
apache-2.2
nginx
phunehehe
fuente
fuente

Respuestas:
Comúnmente veo esto hecho con mod_rewrite:
Significa "Si un archivo no existe en el sistema de archivos, dele el proxy a través de mi clúster mod_proxy_balancer". De lo contrario, si el archivo existe en el sistema de archivos, Apache simplemente lo sirve en relación con lo definido
DocumentRooten su host virtual.Pero esa no es mi forma favorita, principalmente porque requeriría una
statllamada al sistema por solicitud.Con mod_proxy, puede usarlo
ProxyPassMatchsi tiene una versión suficientemente nueva de Apache ( consulte la documentación ). Como:ProxyPassMatch \.(gif|jpe?g|css|js)$ !Que utiliza el! para indicar que Apache no debe proxy solicitudes que coinciden con esa expresión regular.
Si está utilizando una versión anterior de Apache, tendrá la
ProxyPassdirectiva disponible, pero solo coincide con los prefijos de URI (este es mi método preferido actual):Por supuesto, si debe hacer una coincidencia de expresiones regulares como mencionó anteriormente, simplemente puede modificar la regla mod_rewrite que publiqué en la parte superior para negar una coincidencia contra el
%{REQUEST_URI}.¡Espero que ayude!
fuente
try_files, porque verifica la existencia del archivo. Sin embargo, no parece haber una manera de hacerloProxyPass.