Reindirizzare l'URL di un sito Web da un server a un server diverso in Apache
Come promesso nei nostri due articoli precedenti (Esegui reindirizzamento interno con mod_rewrite e Mostra contenuto personalizzato basato sul browser), in questo post spiegheremo come eseguire un reindirizzamento a una risorsa che è stata spostata da un server a un server diverso in Apache utilizzando Modulo mod_rewrite.
Supponiamo che tu stia riprogettando il sito Intranet della tua azienda. Hai deciso di archiviare il contenuto e lo stile (file HTML, JavaScript e CSS) su un server e la documentazione su un altro, forse un quello più robusto.
Lettura consigliata: 5 suggerimenti per migliorare le prestazioni del tuo server Web Apache
Tuttavia, desideri che questa modifica sia trasparente per i tuoi utenti in modo che possano ancora accedere ai documenti al solito URL.
Nell'esempio seguente, un file denominato assets.pdf
è stato spostato da /var/www/html in 192.168.0.100 (nome host: web) nella stessa posizione in 192.168.0.101 (nome host: web2).
Affinché gli utenti possano accedere a questo file quando navigano su 192.168.0.100/assets.pdf
, apri il file di configurazione di Apache su 192.168.0.100 e aggiungi la seguente regola di riscrittura (o puoi anche aggiungere la seguente regola al tuo file .htaccess):
RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1" [R,L]
dove $1
è un segnaposto per tutto ciò che corrisponde all'espressione regolare tra parentesi.
Ora salva le modifiche, non dimenticare di riavviare Apache e vediamo cosa succede quando proviamo ad accedere a assets.pdf accedendo a 192.168.0.100/assets.pdf:
Lettura consigliata: 25 utili trucchi ".htaccess" per i siti web
Nella figura sopra possiamo vedere che la richiesta effettuata per assets.pdf su 192.168.0.100 è stata effettivamente gestita da 192.168.0.101.
tail -n 1 /var/log/apache2/access.log
In questo articolo abbiamo discusso come eseguire un reindirizzamento a una risorsa che è stata spostata su un server diverso. Per concludere, ti consiglio vivamente di dare un'occhiata alla guida mod_rewrite e alla guida al reindirizzamento di Apache per riferimento futuro.
Come sempre, non esitate a utilizzare il modulo di commento qui sotto se avete dubbi su questo articolo. Restiamo in attesa della vostra risposta!