Espero que haya una manera de hacer esto con mod_rewrite y Apache, pero tal vez hay otra manera de considerarlo también.¿Redirige las solicitudes solo si no se encuentra el archivo?
En mi sitio, tengo directorios configurados para versiones rediseñadas del sitio para clientes. Si la raíz web es /home/blah/www
, un directorio de cliente sería /home/blah/www/clients/abc
. Cuando accede al directorio del cliente a través de un navegador web, quiero que use los archivos solicitados en el directorio del cliente, si es que existen. De lo contrario, quiero que use el archivo en la raíz web.
Por ejemplo, supongamos que el cliente no necesita su propio index.html
. Por lo tanto, algún código determinaría que no hay index.html
en /home/blah/www/clients/abc
y, en su lugar, usará el de /home/blah/www
. Tenga en cuenta que no quiero redirigir al cliente a la raíz web en ningún momento, solo quiero utilizar el archivo raíz de la web con ese nombre si el directorio del cliente no ha especificado su propia copia. El navegador web aún debe señalar /clients/abc
si el archivo existe allí o en la raíz. Del mismo modo, si hay una solicitud para news.html
en el directorio del cliente y existe, entonces solo sirva ese archivo en lugar del news.html
de la raíz web. La experiencia del usuario debe ser transparente.
Necesito que funcione para solicitudes en cualquier nombre de archivo. Si necesito, por ejemplo, agregar una nueva línea al .htaccess
por cada archivo que pueda querer redireccionar, en lugar de ello frustra el propósito, ya que se necesita mucho mantenimiento y existe una buena probabilidad de errores debido a la gran cantidad de archivos.
En sus ejemplos, indique si su código se encuentra en el archivo .htaccess en el directorio del cliente o en la raíz web. Se prefiere la raíz web.
Parece demasiado corto para hacer lo que quiero. ¿Puedes explicar la lógica un poco? ¡Gracias! – DivideByHero