Peradresuokite svetainės URL iš vieno serverio į kitą „Apache“ serverį


Kaip buvo žadėta ankstesniuose dviejuose straipsniuose (Atlikti vidinį peradresavimą naudojant mod_rewrite ir Rodyti tinkintą turinį remiantis naršykle), šiame įraše paaiškinsime, kaip atlikti peradresavimą į šaltinį, kuris buvo perkeltas iš vieno serverio į kitą „Apache“ serverį. mod_rewrite modulis.

Tarkime, kad pertvarkote savo įmonės intraneto svetainę. Nusprendėte turinį ir stilių (HTML failus, JavaScript ir CSS) saugoti viename serveryje, o dokumentus – kitame – galbūt tvirtesnis.

Siūlomas skaitymas: 5 patarimai, kaip padidinti „Apache“ žiniatinklio serverio našumą

Tačiau norite, kad šis pakeitimas būtų skaidrus jūsų vartotojams, kad jie vis tiek galėtų pasiekti dokumentus įprastu URL.

Šiame pavyzdyje failas pavadinimu assets.pdf buvo perkeltas iš /var/www/html, esančio 192.168.0.100 (prieglobos serverio pavadinimas: web) į tą pačią vietą 192.168.0.101 (prieglobos serverio pavadinimas: web2).

Kad naudotojai galėtų pasiekti šį failą naršydami 192.168.0.100/assets.pdf, atidarykite „Apache“ konfigūracijos failą adresu 192.168.0.100 ir pridėkite šią perrašymo taisyklę (arba taip pat galite pridėti šią taisyklę prie savo .htaccess failo):

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

kur $1 yra bet kokio, kas atitinka įprastą reiškinį skliausteliuose, rezervuota vieta.

Dabar išsaugokite pakeitimus, nepamirškite iš naujo paleisti „Apache“ ir pažiūrėkime, kas atsitiks, kai bandysime pasiekti assets.pdf, naršydami adresu 192.168.0.100/assets.pdf:

Siūlomas skaitymas: 25 naudingi „.htaccess“ gudrybės svetainėms

Aukščiau pateiktame paveikslėlyje matome, kad užklausa, pateikta assets.pdf adresu 192.168.0.100, iš tikrųjų buvo apdorota 192.168.0.101.

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

Šiame straipsnyje aptarėme, kaip atlikti peradresavimą į šaltinį, kuris buvo perkeltas į kitą serverį. Baigdamas primygtinai siūlyčiau pažvelgti į mod_rewrite vadovą ir „Apache“ peradresavimo vadovą, kad galėtumėte pasinaudoti ateityje.

Kaip visada, nedvejodami naudokite toliau pateiktą komentarų formą, jei turite kokių nors klausimų dėl šio straipsnio. Lauksime jūsų žinučių!