Wprowadzenie
W globalnej sieci, adresy domen z przedrostkiem „www” (na przykład www.przyklad.pl) oraz bez niego (przyklad.pl) często prowadzą do tej samej strony. Chociaż takie rozwiązanie jest powszechne, może generować trudności związane z duplikowaniem treści, problemami w indeksowaniu przez wyszukiwarki oraz niespójnością adresów URL.
Przekierowanie ruchu z wersji „www” na wersję bez przedrostka (lub odwrotnie) to prosta metoda na rozwiązanie tych niedogodności. W tym poradniku pokażemy krok po kroku, jak skonfigurować przekierowanie z „www” na „bez www” za pomocą serwera Nginx na systemie CentOS 7.
Niezbędne wymagania
- Serwer z systemem CentOS 7 oraz zainstalowanym serwerem Nginx.
- Dostęp do konta z uprawnieniami administratora (root).
Konfiguracja serwera Nginx
1. Otwarcie pliku konfiguracyjnego Nginx
Użyj dowolnego edytora tekstowego, aby otworzyć główny plik konfiguracyjny Nginx:
nano /etc/nginx/nginx.conf
2. Dodanie dyrektywy przekierowania
Znajdź blok server, który jest odpowiedzialny za obsługę domeny, dla której planujesz przekierowanie. Wewnątrz tego bloku, dodaj poniższą instrukcję:
server {
...
if ($host = 'www.przyklad.pl') {
return 301 $scheme://przyklad.pl$request_uri;
}
...
}
Pamiętaj, aby zamienić „www.przyklad.pl” i „przyklad.pl” na nazwy Twojej domeny oraz jej wariantu bez „www”.
3. Zapis i zamknięcie pliku
Po wprowadzeniu zmian, zapisz plik konfiguracyjny i zamknij edytor.
Testowanie skonfigurowanego przekierowania
1. Restart serwera Nginx
Aby wprowadzone zmiany stały się aktywne, zrestartuj usługę Nginx:
systemctl restart nginx
2. Weryfikacja przekierowania
Otwórz przeglądarkę i wpisz adres URL z „www”, na przykład:
https://www.przyklad.pl
Powinieneś zostać automatycznie przekierowany na adres bez „www”, na przykład:
https://przyklad.pl
Konfiguracja certyfikatu SSL (opcjonalnie)
Jeśli korzystasz z certyfikatu SSL, należy zaktualizować jego konfigurację, uwzględniając nowe przekierowanie.
1. Otwarcie pliku konfiguracyjnego SSL
Za pomocą edytora tekstowego otwórz plik konfiguracyjny SSL:
nano /etc/nginx/conf.d/ssl.conf
2. Aktualizacja nazwy serwera
W pliku konfiguracyjnym odszukaj dyrektywę „server_name” i zmień jej wartość, wpisując nazwę domeny bez „www”. Na przykład:
server_name przyklad.pl;
3. Zapis i zamknięcie pliku
Zapisz wprowadzone modyfikacje i zamknij edytor.
4. Restart serwera Nginx
Aby wprowadzić zmiany, zrestartuj serwer Nginx:
systemctl restart nginx
Konfiguracja HTTPS (opcjonalnie)
Jeśli używasz protokołu HTTPS, upewnij się, że Twoja konfiguracja HTTPS również uwzględnia wprowadzone zmiany przekierowania.
1. Otwarcie pliku konfiguracyjnego HTTPS
Użyj edytora tekstowego, aby otworzyć plik konfiguracyjny HTTPS:
nano /etc/nginx/conf.d/default.conf
2. Aktualizacja nazwy serwera
W pliku konfiguracyjnym znajdź dyrektywę „server_name” i zmień jej wartość na nazwę domeny bez „www”. Na przykład:
server_name przyklad.pl;
3. Zapis i zamknięcie pliku
Zapisz wprowadzone zmiany i zamknij plik konfiguracyjny HTTPS.
4. Restart serwera Nginx
W celu zastosowania zmian, zrestartuj serwer Nginx:
systemctl restart nginx
Podsumowanie
Przekierowanie z „www” na „bez www” za pomocą Nginx na CentOS 7 jest efektywnym sposobem na rozwiązanie problemów z duplikacją treści, problemami w indeksowaniu i niespójnymi adresami. Wykonując kroki z tego tutoriala, możesz łatwo wdrożyć przekierowanie i ulepszyć wrażenia użytkowników na Twojej stronie.
Najczęściej zadawane pytania
1. Czy mogę za pomocą Nginx przekierować z „bez www” na „www”?
Tak, można przekierować „bez www” na „www”, modyfikując dyrektywę „if ($host =” w pliku konfiguracyjnym Nginx.
2. Co się stanie, jeśli pominę aktualizację konfiguracji SSL po przekierowaniu?
Jeśli konfiguracja SSL nie zostanie zaktualizowana, przekierowanie może działać nieprawidłowo, a Twoja strona może wyświetlać ostrzeżenia o bezpieczeństwie.
3. Czy przekierowanie z „www” na „bez www” wpłynie na pozycję w wyszukiwarkach?
Nie, przekierowanie z „www” na „bez www” nie powinno negatywnie wpłynąć na pozycję w wyszukiwarkach, ponieważ obie wersje adresu są traktowane jako ta sama witryna.
4. Jak przetestować przekierowanie?
Przekierowanie można przetestować, otwierając adres URL z „www” i bez w przeglądarce. Jeśli przekierowanie działa prawidłowo, powinieneś być przekierowany na adres bez „www”.
5. Czy da się przekierować tylko część ruchu z „www” na „bez www”?
Tak, można przekierować tylko część ruchu, wykorzystując dyrektywę „location” w konfiguracji Nginx.
6. Czy można przekierować z „www” na „bez www” na podstawie adresu IP?
Tak, możesz to zrobić używając dyrektywy „allow” w pliku konfiguracyjnym Nginx.
7. Czy przekierowanie z „www” na „bez www” wpłynie na wydajność strony?
Przekierowanie może minimalnie wpłynąć na wydajność, ze względu na dodatkowy etap w procesie ładowania strony.
8. Czy można ustawić przekierowanie z „www” na „bez www” dla wielu domen?
Tak, możesz to zrobić, dodając wiele dyrektyw „if ($host =” w pliku konfiguracyjnym Nginx.