Comúnmente veo esto hecho con mod_rewrite:
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule ^/(.*)$ balancer://app_cluster%{REQUEST_URI} [P,QSA,L]
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):
ProxyPass /images !
ProxyPass /stylesheets !
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!