Przekierowanie adresów URL w nginx

Przekierowanie adresów URL w nginx

Nginx to potężny serwer internetowy open source, którego można użyć do różnych celów, w tym przekierowania adresu URL. Przekierowanie URL to proces przekazywania jednego adresu URL do drugiego. Przekierowanie adresów URL jest powszechną praktyką podczas zmiany struktury adresu URL swojej witryny lub przenoszenia treści z jednej strony na drugą.

W tym artykule omówimy przekierowanie adresu URL w Nginx i podamy kilka przykładów, aby pomóc Ci zrozumieć, jak to działa.

Rodzaje przekierowania URL

Istnieją dwa rodzaje przekierowania adresu URL:

  • 301 Przekierowanie: Przekierowanie 301 to stałe przekierowanie, które mówi wyszukiwarki i przeglądarki, że adres URL na stałe przeniósł się do nowej lokalizacji. Jest powszechnie używany po zmianie struktury adresu URL swojej witryny lub przenoszenia treści z jednej strony na drugą.
  • 302 Przekieruj: Przekierowanie 302 to tymczasowe przekierowanie, które informuje wyszukiwarki i przeglądarki, że adres URL tymczasowo przeniósł się do nowej lokalizacji. Jest powszechnie używany, gdy trzeba tymczasowo przekierować ruch na innej stronie.

Przekierowanie HTTP do HTTPS

Jednym z najczęstszych zastosowań przekierowania URL w Nginx jest przekierowanie ruchu HTTP do HTTPS. HTTPS to bezpieczna wersja protokołu HTTP, która szyfruje dane między serwerem a przeglądarką. Aby przekierować ruch HTTP do HTTPS, dodaj następujący kod do pliku konfiguracyjnego Nginx:

serwer Słuchaj 80; Przykład_nazowy Server_name.com; zwróć 301 https: // Przykład.com $ request_uri;
12345serwer Słuchaj 80; Przykład_nazowy Server_name.com; zwróć 301 https: // Przykład.com $ request_uri;

Ten kod służy na porcie 80 i przekierowuje cały ruch HTTP do HTTPS, zwracając kod stanu 301.

Przekierowanie nie-WWW na adresy URL WWW

Jeśli chcesz przekierować adresy URL bez WWW do ich odpowiedników WWW, dodaj następujący kod do swojego pliku konfiguracyjnego Nginx:

serwer Słuchaj 80; Przykład_nazowy Server_name.com; Zwrot 301 $ Scheme: // www.przykład.com $ request_uri;
12345serwer Słuchaj 80; Przykład_nazowy Server_name.com; Zwrot 301 $ Scheme: // www.przykład.com $ request_uri;

Ten kod służy na porcie 80 i przekierowuje wszystkie adresy URL bez WWW do ich odpowiedników WWW, zwracając kod stanu 301.

Przekierowanie WWW do adresów URL bez WWW

Jeśli chcesz przekierować adresy URL WWW do ich odpowiedników innych niż WWW, dodaj następujący kod do pliku konfiguracyjnego Nginx:

serwer Słuchaj 80; Server_name www.przykład.com; Zwrot 301 $ Scheme: // Przykład.com $ request_uri;
12345serwer Słuchaj 80; Server_name www.przykład.com; Zwrot 301 $ Scheme: // Przykład.com $ request_uri;

Ten kod służy na porcie 80 i przekierowuje wszystkie adresy URL WWW do ich odpowiedników innych niż WWW, zwracając kod stanu 301.

Przekierowanie określonego adresu URL na inny adres URL

Jeśli chcesz przekierować określony adres URL do innego adresu URL, dodaj następujący kod do pliku konfiguracyjnego Nginx:

Lokalizacja/Old-Orl return 301 https: // Przykład.com/new-Url;
123Lokalizacja/Old-Orl return 301 https: // Przykład.com/new-Url;

Ten kod przekierowuje cały ruch z/old-orl do https: // przykład.com/New-Url.

Niestandardowa strona błędu 404 i przekierowanie

Aby utworzyć niestandardową stronę błędu 404 i przekierować, dodaj następujący kod do pliku konfiguracyjnego Nginx:

ERROR_PAGE 404 /404.html; Lokalizacja = /404.html wewnętrzne;
1234ERROR_PAGE 404 /404.html; lokalizacja = /404.html wewnętrzny;

Ten kod przekierowuje wszystkie 404 błędy do niestandardowego 404.Strona HTML.

Wniosek

Przekierowanie URL jest potężnym narzędziem, którego można użyć do przekierowania ruchu z jednego adresu URL do drugiego. W tym artykule omówiliśmy dwa rodzaje przekierowania adresu URL i przedstawiliśmy kilka przykładów, które pomogą ci zrozumieć, jak to działa w Nginx. Rozumiejąc przekierowanie adresu URL, możesz stworzyć lepszą wrażenia użytkownika dla swoich odwiedzających i poprawić ogólną wydajność Twojej witryny.