Ricerca nel sito web

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!