(Go: >> BACK << -|- >> HOME <<)

Jak przekierować www na bez www za pomocą Nginx na CentOS 7

Jak przekierować www na bez www za pomocą Nginx na CentOS 7

Wstęp

W sieci WWW sąsiednie nazwy domen (np. www.example.com i example.com) są często używane do kierowania ruchu na tę samą stronę internetową. Jednak posiadanie wielu nazw domen dla tej samej strony internetowej może powodować problemy z duplikacją treści, problemami z indeksowaniem i niekonsekwentnymi adresami URL.

Przekierowanie ruchu z www na bez www (lub odwrotnie) jest prostym rozwiązaniem tych problemów. W tym samouczku pokażemy Ci, jak przekierować www na bez www za pomocą serwera Nginx na CentOS 7.

Wymagania

* Serwer CentOS 7 z zainstalowanym Nginx
* uprawnienia roota

Konfiguracja Nginx

1. Otwórz plik konfiguracyjny Nginx

Użyj edytora tekstu, aby otworzyć plik konfiguracyjny Nginx:

bash
nano /etc/nginx/nginx.conf

2. Dodaj dyrektywę przekierowania

Znajdź blok serwera, który obsługuje nazwę domeny, dla której chcesz przekierować www na bez www. Wewnątrz tego bloku serwera dodaj następującą dyrektywę:


server {
...

Przekieruj ruch z www na bez www

if ($host = 'www.example.com') {
return 301 $scheme://example.com$request_uri;
}

...
}

Zastąp „www.example.com” i „example.com” odpowiednią nazwą domeny i jej wersją bez www.

3. Zapisz i zamknij plik

Zapisz zmiany i zamknij plik konfiguracyjny Nginx.

Testowanie przekierowania

1. Uruchom ponownie Nginx

Aby zastosować zmiany, uruchom ponownie serwer Nginx:

bash
systemctl restart nginx

2. Sprawdź przekierowanie

Otwórz przeglądarkę internetową i przejdź do adresu URL z www, na przykład:


https://www.example.com

Powinieneś zostać przekierowany na adres URL bez www, na przykład:


https://example.com

Konfiguracja certyfikatu SSL (opcjonalnie)

Jeśli używasz certyfikatu SSL, musisz również zaktualizować swoją konfigurację SSL, aby uwzględnić nowe przekierowanie.

1. Otwórz plik konfiguracyjny SSL

Użyj edytora tekstu, aby otworzyć plik konfiguracyjny SSL:

bash
nano /etc/nginx/conf.d/ssl.conf

2. Zaktualizuj nazwę serwera

Znajdź dyrektywę „server_name” w pliku konfiguracyjnym SSL i zaktualizuj ją tak, aby zawierała nazwę domeny bez www. Na przykład:


server_name example.com;

3. Zapisz i zamknij plik

Zapisz zmiany i zamknij plik konfiguracyjny SSL.

4. Uruchom ponownie Nginx

Aby zastosować zmiany, uruchom ponownie serwer Nginx:

bash
systemctl restart nginx

Konfiguracja HTTPS (opcjonalnie)

Jeśli używasz HTTPS, musisz również zaktualizować swoją konfigurację HTTPS, aby uwzględnić nowe przekierowanie.

1. Otwórz plik konfiguracyjny HTTPS

Użyj edytora tekstu, aby otworzyć plik konfiguracyjny HTTPS:

bash
nano /etc/nginx/conf.d/default.conf

2. Zaktualizuj nazwę serwera

Znajdź dyrektywę „server_name” w pliku konfiguracyjnym HTTPS i zaktualizuj ją tak, aby zawierała nazwę domeny bez www. Na przykład:


server_name example.com;

3. Zapisz i zamknij plik

Zapisz zmiany i zamknij plik konfiguracyjny HTTPS.

4. Uruchom ponownie Nginx

Aby zastosować zmiany, uruchom ponownie serwer Nginx:

bash
systemctl restart nginx

Wniosek

Przekierowanie www na bez www za pomocą Nginx na CentOS 7 jest prostym, ale skutecznym sposobem na rozwiązanie problemów związanych z duplikacją treści, problemami z indeksowaniem i niekonsekwentnymi adresami URL. Wykonując kroki opisane w tym samouczku, możesz łatwo skonfigurować przekierowanie i poprawić ogólne wrażenia użytkownika z Twojej strony internetowej.

Często zadawane pytania

1. Czy mogę przekierować bez www na www za pomocą Nginx?

Tak, możesz przekierować bez www na www za pomocą Nginx, zmieniając dyrektywę „if ($host =” w pliku konfiguracyjnym Nginx.

2. Co się stanie, jeśli nie zaktualizuję konfiguracji SSL po przekierowaniu?

Jeśli nie zaktualizujesz konfiguracji SSL, przekierowanie nie będzie działać poprawnie, a Twoja strona internetowa może wyświetlać ostrzeżenia dotyczące bezpieczeństwa.

3. Czy przekierowanie www na bez www wpłynie na mój ranking w wyszukiwarkach?

Nie, przekierowanie www na bez www nie powinno wpłynąć na Twój ranking w wyszukiwarkach, ponieważ oba adresy URL będą traktowane jako ta sama strona internetowa.

4. Jak przetestować przekierowanie?

Możesz przetestować przekierowanie, odwiedzając adres URL z www i bez www w przeglądarce internetowej. Jeśli przekierowanie działa prawidłowo, powinieneś zostać przekierowany na adres URL bez www.

5. Czy mogę przekierować tylko część ruchu z www na bez www?

Tak, możesz przekierować tylko część ruchu z www na bez www, używając dyrektywy „location” w pliku konfiguracyjnym Nginx.

6. Czy mogę przekierować ruch z www na bez www na podstawie adresu IP?

Tak, możesz przekierować ruch z www na bez www na podstawie adresu IP, używając dyrektywy „allow” w pliku konfiguracyjnym Nginx.

7. Czy przekierowanie www na bez www wpłynie na moją wydajność strony internetowej?

Przekierowanie www na bez www może nieznacznie wpłynąć na wydajność strony internetowej, ponieważ jest to dodatkowy krok w procesie ładowania strony.

8. Czy mogę przekierować www na bez www dla wielu nazw domen?

Tak, możesz przekierować www na bez www dla wielu nazw domen, dodając wiele dyrektyw „if ($host =” do pliku konfiguracyjnego Nginx.