Wprowadzenie
Nginx to popularny serwer WWW o otwartym kodzie źródłowym, ceniony za swoją szybkość i stabilność. Jest powszechnie stosowany do obsługi witryn internetowych o dużym ruchu. Jedną z często spotykanych operacji, którą można zrealizować za pomocą Nginx, jest zmiana kierunku ruchu internetowego z adresów zawierających przedrostek „www” na te bez niego, lub odwrotnie.
Większość preferuje adresy bez „www”, gdyż są one krótsze, łatwiejsze do zapamiętania i estetyczniej prezentują się w przeglądarce. Ustawienie przekierowania z „www” na wersję bez „www” zapewnia spójność dla użytkowników i eliminuje problem duplikacji treści, co ma pozytywny wpływ na pozycjonowanie w wyszukiwarkach (SEO).
Ten przewodnik szczegółowo opisze, jak skonfigurować serwer Nginx na Ubuntu 14.04, aby przekierowywał adresy z „www” na wersję bez „www”.
Konfiguracja serwera Nginx
Modyfikacja pliku konfiguracyjnego Nginx
Na początek, musimy zmodyfikować plik konfiguracyjny Nginx, który zazwyczaj znajduje się w lokalizacji /etc/nginx/sites-available/default
. Otwórz ten plik w edytorze tekstu, korzystając z uprawnień administratora (root):
sudo nano /etc/nginx/sites-available/default
Wprowadzenie reguły przekierowania
Wewnątrz bloku serwera, dodaj następujący kod:
server {
...
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
...
}
Pamiętaj, aby zamienić „example.com” na rzeczywistą nazwę swojej domeny.
Dyrektywa server_name
określa, dla jakiej domeny ma działać przekierowanie. Natomiast return
przekierowuje ruch do wersji strony bez „www”, używając kodu 301, co oznacza trwałe przeniesienie.
Zapisanie zmian i sprawdzenie poprawności
Po wprowadzeniu dyrektywy, zapisz zmiany i zamknij edytor tekstu. Następnie, użyj polecenia sudo nginx -t
, aby przetestować konfigurację.
sudo nginx -t
Jeśli konfiguracja jest poprawna, zobaczysz komunikat podobny do tego:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Restart serwera Nginx
W przypadku poprawnej konfiguracji, uruchom ponownie serwer Nginx, aby wprowadzone zmiany zaczęły obowiązywać:
sudo systemctl restart nginx
Weryfikacja działania przekierowania
Aby upewnić się, że przekierowanie działa poprawnie, wpisz w przeglądarce adres swojej strony z „www”. Powinno nastąpić automatyczne przekierowanie do wersji adresu bez przedrostka „www”.
Dodatkowe wskazówki
Kody statusu 301 i 302
W zależności od potrzeb, możesz zastosować kod statusu 301 lub 302 w dyrektywie return
. Kod 301 (przeniesienie trwałe) jest zalecany, gdy chcesz na stałe przekierować użytkownika pod nowy adres. Kod 302 (znaleziono tymczasowo) używa się, gdy przekierowanie jest czasowe, na przykład w trakcie prac konserwacyjnych.
Przekierowanie wyłącznie dla HTTPS
Jeżeli twoja witryna działa tylko w trybie HTTPS, zmodyfikuj konfigurację w Nginx, aby przekierowanie działało wyłącznie dla połączeń HTTPS. W tym celu, dodaj następujący kod do pliku konfiguracyjnego:
server {
listen 443 ssl;
...
server_name www.example.com;
return 301 $scheme://example.com$request_uri;
...
}
Wyłączenie przekierowań dla konkretnych ścieżek
Możesz zdefiniować ścieżki, które nie powinny być przekierowywane. Na przykład, aby wyłączyć przekierowanie dla strony logowania, dodaj:
location /login {
return 302;
}
Podsumowanie
Właśnie udało Ci się skonfigurować serwer Nginx na Ubuntu 14.04 do przekierowania ruchu z „www” na adres bez „www”. Takie przekierowanie zapewnia spójność dla użytkowników, zapobiega duplikacji treści i korzystnie wpływa na pozycję w wyszukiwarkach. Pamiętaj, aby dokładnie przetestować konfigurację, by mieć pewność, że przekierowania działają tak, jak zaplanowano.
Najczęściej zadawane pytania
1. Dlaczego warto przekierowywać z „www” na wersję bez „www”?
* Zapewnia spójność w dostępie do witryny.
* Eliminuje ryzyko duplikacji zawartości.
* Wpływa pozytywnie na optymalizację pod kątem wyszukiwarek (SEO).
2. Który kod statusu wybrać w dyrektywie return
?
* 301 (przeniesienie stałe) dla przekierowań, które mają działać zawsze.
* 302 (znaleziono tymczasowo) dla przekierowań tymczasowych.
3. Czy mogę ustawić przekierowanie tylko dla HTTPS?
* Tak, dodając odpowiednią konfigurację dla bloku HTTPS.
4. Czy można wykluczyć pewne ścieżki z przekierowania?
* Tak, poprzez dodanie sekcji location
w konfiguracji Nginx.
5. Jak zweryfikować działanie przekierowania?
* Wpisz w przeglądarce adres z „www”.
* Powinieneś zostać przeniesiony do adresu bez „www”.
6. Co zrobić, gdy przekierowanie nie działa?
* Upewnij się, czy w pliku konfiguracyjnym nie ma błędów.
* Zrestartuj serwer Nginx.
* Skontaktuj się z obsługą techniczną swojego hostingu.
7. Czy przekierowanie „www” na bez „www” ma wpływ na SEO?
* Prawidłowo skonfigurowane przekierowanie nie powinno negatywnie wpłynąć na pozycję w wyszukiwarce.
8. Czy powinienem przekierowywać z wersji bez „www” na „www”?
* Zazwyczaj zaleca się przekierowywanie z „www” na wersję bez „www”, gdyż jest to preferowany wariant.
9. Czy przekierowanie obciąża moją witrynę?
* Obciążenie jest minimalne, gdyż przekierowanie realizowane jest przez serwer Nginx.
10. Jak usunąć ustawione przekierowanie z „www” na bez „www”?
* Wystarczy usunąć lub zakomentować odpowiednią dyrektywę return
z pliku konfiguracyjnego Nginx.
newsblog.pl