Spis treści:
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.