Redirecționați adresa URL a unui site de la un server la un alt server în Apache


După cum am promis în cele două articole anterioare (Efectuați redirecționarea internă cu mod_rewrite și Afișați conținut personalizat bazat pe browser), în această postare vom explica cum să efectuați o redirecționare către o resursă care a fost mutată de la un server la un alt server în Apache folosind modulul mod_rewrite.

Să presupunem că reproiectați site-ul intranet al companiei dvs. Ați decis să stocați conținutul și stilul (fișiere HTML, JavaScript și CSS) pe un server și documentația pe altul – poate o unul mai robust.

Lectură sugerată: 5 sfaturi pentru a crește performanța serverului dvs. web Apache

Cu toate acestea, doriți ca această modificare să fie transparentă pentru utilizatorii dvs., astfel încât aceștia să poată accesa în continuare documentele la adresa URL obișnuită.

În exemplul următor, un fișier numit assets.pdf a fost mutat din /var/www/html în 192.168.0.100 (nume de gazdă: web) în aceeași locație în 192.168.0.101 (nume de gazdă: web2).

Pentru ca utilizatorii să acceseze acest fișier atunci când navighează la 192.168.0.100/assets.pdf, deschideți fișierul de configurare Apache pe 192.168.0.100 și adăugați următoarea regulă de rescriere (sau De asemenea, puteți adăuga următoarea regulă în fișierul dvs. .htaccess):

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

unde $1 este un substituent pentru orice se potrivește cu expresia regulată din paranteze.

Acum salvați modificările, nu uitați să reporniți Apache și să vedem ce se întâmplă când încercăm să accesăm assets.pdf navigând la 192.168.0.100/assets.pdf:

Lectură sugerată: 25 de trucuri utile „.htaccess” pentru site-uri web

În cele de mai jos, putem vedea că cererea care a fost făcută pentru assets.pdf pe 192.168.0.100 a fost de fapt gestionată de 192.168.0.101.

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

În acest articol am discutat cum să efectuați o redirecționare către o resursă care a fost mutată pe un alt server. Pentru a încheia, vă sugerez cu tărie să aruncați o privire la ghidul mod_rewrite și ghidul de redirecționare Apache pentru referințe viitoare.

Ca întotdeauna, nu ezitați să utilizați formularul de comentarii de mai jos dacă aveți nelămuriri legate de acest articol. Asteptam sa auzim de tine!