Spero che ci sia un modo per farlo con mod_rewrite e Apache, ma forse c'è anche un altro modo di considerare.Reindirizza le richieste solo se il file non viene trovato?
Sul mio sito, ho impostato le directory per le versioni con riscrittura del sito per i clienti. Se la web root è /home/blah/www
, una directory del client sarà /home/blah/www/clients/abc
. Quando si accede alla directory del client tramite un browser Web, si desidera che utilizzi tutti i file richiesti nella directory del client, se presenti. Altrimenti, voglio che usi il file nella web root.
Ad esempio, supponiamo che il client non abbia bisogno del proprio index.html
. Pertanto, alcuni codici determinerebbero che non è disponibile lo index.html
in /home/blah/www/clients/abc
e verrà utilizzato quello in /home/blah/www
. Tieni presente che non desidero reindirizzare il client alla radice Web in qualsiasi momento, ma voglio solo utilizzare il file root web con quel nome se la directory del client non ha specificato la propria copia. Il browser Web dovrebbe comunque puntare a /clients/abc
se il file esiste lì o nella radice. Allo stesso modo, se c'è una richiesta per nella directory del client e lo esiste, quindi serve solo quel file invece del numero di web root news.html
. L'esperienza dell'utente dovrebbe essere perfetta.
Ho bisogno che funzioni per richieste su qualsiasi nome file. Se devo, per esempio, aggiungere una nuova riga a .htaccess
per ogni file che potrei voler reindirizzare, piuttosto sconfigge lo scopo dato che c'è troppa manutenzione necessaria e una buona possibilità di errori dato il gran numero di file.
Nei vostri esempi, si prega di indicare se il proprio codice va nel file .htaccess nella directory del client o nella web root. La radice Web è preferita.
Sembra troppo corto per fare ciò che voglio. Puoi spiegare un po 'la logica? Grazie! – DivideByHero