Wyszukiwanie w witrynie

Przekieruj adres URL witryny z jednego serwera na inny serwer w Apache


Zgodnie z obietnicą z naszych poprzednich dwóch artykułów (Wykonaj wewnętrzne przekierowanie za pomocą mod_rewrite i Pokaż niestandardową zawartość w oparciu o przeglądarkę), w tym poście wyjaśnimy, jak wykonać przekierowanie do zasobu, który został przeniesiony z jednego serwera na inny serwer w Apache przy użyciu moduł mod_rewrite.

Załóżmy, że przeprojektowujesz witrynę intranetową swojej firmy. Zdecydowałeś się przechowywać treść i styl (pliki HTML, JavaScript i CSS) na jednym serwerze, a dokumentację na innym – być może solidniejszy.

Sugerowana lektura: 5 wskazówek pozwalających zwiększyć wydajność serwera internetowego Apache

Chcesz jednak, aby ta zmiana była niewidoczna dla użytkowników, aby nadal mogli uzyskiwać dostęp do dokumentów pod zwykłym adresem URL.

W poniższym przykładzie plik o nazwie assets.pdf został przeniesiony z /var/www/html w 192.168.0.100 (nazwa hosta: web) do tej samej lokalizacji w 192.168.0.101 (nazwa hosta: web2).

Aby użytkownicy mieli dostęp do tego pliku podczas przeglądania 192.168.0.100/assets.pdf, otwórz plik konfiguracyjny Apache na 192.168.0.100 i dodaj następującą regułę przepisywania (lub możesz także dodać następującą regułę do swojego pliku .htaccess):

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

gdzie $1 jest symbolem zastępczym wszystkiego, co pasuje do wyrażenia regularnego w nawiasach.

Teraz zapisz zmiany, nie zapomnij zrestartować Apache i zobaczmy, co się stanie, gdy spróbujemy uzyskać dostęp do pliku assets.pdf, przechodząc do 192.168.0.100/assets.pdf:

Sugerowana lektura: 25 przydatnych trików „.htaccess” dla stron internetowych

Na powyższym obrazku widać, że żądanie dotyczące assets.pdf złożone w dniu 192.168.0.100 zostało faktycznie obsłużone przez 192.168.0.101.

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

W tym artykule omówiliśmy, jak wykonać przekierowanie do zasobu, który został przeniesiony na inny serwer. Podsumowując, zdecydowanie sugeruję zapoznanie się z przewodnikiem po mod_rewrite i przewodnikiem po przekierowaniach Apache do wykorzystania w przyszłości.

Jak zawsze, jeśli masz jakiekolwiek wątpliwości dotyczące tego artykułu, możesz skorzystać z poniższego formularza komentarza. Oczekujemy na kontakt zwrotny!