
Mientras trabajo en la reescritura de una aplicación, me gustaría conservar los archivos webroot de la aplicación anterior como alternativa, cuando no se encuentren los archivos nuevos.
Hay 2 aplicaciones:
<VirtualHost *:80>
ServerName legacy.dev
DocumentRoot /www/legacy/webroot
</VirtualHost>
<VirtualHost *:80>
ServerName new.dev
DocumentRoot /www/new/webroot
</VirtualHost>
¿Cómo podría configurar new.dev VirtualHost para recuperar los archivos presentes en DocumentRoot, pero si no se encuentra el archivo, recuperar los archivos en Legacy.dev DocumentRoot?
Respuesta1
Suena como¿Cuál es el equivalente de Apache de try_files de Nginx?haría lo que quisieras.
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://app_cluster%{REQUEST_URI} [P,QSA,L]
intenta buscar el archivo y si no lo encuentra lo pasa al proxy apache. Apache: mod-rewrite para buscar imágenes faltantes en otro directoriomuestra un ejemplo similar del uso de mod_rewrite para hacer algo similar sin el proxy. Como puede ver, utiliza uno similar RewriteCond
pero bastante diferente RewriteRule
con el que puede ser más fácil trabajar.
Como puede observar, la primera respuesta a la que se hace referencia es intentar piratear nginx try-files
en Apache, por lo que tal vez estaría más feliz con nginx directamente en este caso. ¿Cómo funciona try_files?Debería darte una mejor idea si eso te ayudaría.