Preusmjerite URL web stranice s jednog servera na drugi server u Apacheu


Kao što smo obećali u naša prethodna dva članka (Izvrši interno preusmjeravanje pomoću mod_rewrite i Prikaži prilagođeni sadržaj zasnovan na pretraživaču), u ovom ćemo postu objasniti kako izvršiti preusmjeravanje na resurs koji je premješten sa jednog servera na drugi server u Apache-u koristeći mod_rewrite modul.

Pretpostavimo da redizajnirate intranet stranicu svoje kompanije. Odlučili ste pohraniti sadržaj i stil (HTML datoteke, JavaScript i CSS) na jednom serveru, a dokumentaciju na drugom – možda robusniji.

Preporučeno čitanje: 5 savjeta za poboljšanje performansi vašeg Apache web servera

Međutim, želite da ova promjena bude transparentna za vaše korisnike kako bi i dalje mogli pristupiti dokumentima na uobičajenom URL-u.

U sljedećem primjeru, datoteka pod nazivom assets.pdf je premještena sa /var/www/html u 192.168.0.100 (ime hosta: web) na istu lokaciju u 192.168.0.101 (naziv hosta: web2).

Da bi korisnici pristupili ovoj datoteci kada pretražuju 192.168.0.100/assets.pdf, otvorite Apacheov konfiguracijski fajl na 192.168.0.100 i dodajte sljedeće pravilo ponovnog pisanja (ili također možete dodati sljedeće pravilo u svoj .htaccess fajl):

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

gdje je $1 čuvar mjesta za sve što odgovara regularnom izrazu unutar zagrada.

Sada sačuvajte promjene, ne zaboravite ponovo pokrenuti Apache i da vidimo šta će se dogoditi kada pokušamo pristupiti assets.pdf tako što ćemo pregledati 192.168.0.100/assets.pdf:

Preporučeno čitanje: 25 korisnih '.htaccess' trikova za web stranice

U gornjem tekstu ispod možemo vidjeti da je zahtjev koji je napravljen za assets.pdf na 192.168.0.100 zapravo obradio 192.168.0.101.

tail -n 1 /var/log/apache2/access.log

U ovom članku smo raspravljali o tome kako izvršiti preusmjeravanje na resurs koji je premješten na drugi server. Da zaključimo, preporučujem vam da pogledate mod_rewrite vodič i Apache vodič za preusmjeravanje za buduću upotrebu.

Kao i uvijek, slobodno koristite formular za komentare u nastavku ako imate bilo kakvih nedoumica u vezi sa ovim člankom. Radujemo se Vašem odgovoru!