Gdzieś w początkach internetu przyjęło się, że każda usługa ma swój przedrostek – subdomenę, np. ftp, www, mail… I choć dla wielu adres „www.nazwa_domeny.pl” i „nazwa_domeny.pl” to jedno i to samo – tak nie jest, o czym czasem zapominają nawet „doświadczeni administratorzy w dużych firmach” i czasem zdarza się, że pomijając subdomenę (!) „www.” w adresie strony trafiamy na stronę błędu.

Sam wychodzę z założenia, że nim adres krótszy – tym łatwiej go podać/zapamiętać. Mimo to sporo osób jeszcze wchodzi na moją stroną wpisując z przodu „www.”, tak też linkuje – a by to unormować stosuję przekierowanie z adresu „www.nazwa_domeny.pl” na „nazwa_domeny.pl”.

I o tym dziś będzie…

Kasujemy „www” z adresu strony

Z racji tego, że powoli startuje z małym cyklem poświęconym Nginx, to oprócz – standardowo – regułki dla Apache, będzie też i dla Nginx.

Apache2 i .htaccess

Tu sprawa jest prosta, szybka i przyjemna – wystarczy skorzystać z pliku .htaccess, i w nim dodać odpowiednią regułę:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.rembiejewski.pl$
RewriteRule ^/?$ "http\:\/\/rembiejewski\.pl" [R=301,L]

Wprawdzie można odpowiedni wpis dodać i do pliku konfiguracyjnego vHosta (jak w przypadku Nginx), ale skorzystanie z pliku .htaccess oznacza, że:

  • Wpisu może dokonać każdy użytkownik z dostępem do plików strony, bez potrzeby edytowania parametrów serwera
  • Zmiany są aktywne od razu, bez potrzeby restartu/odświeżenia ustawień serwera

Nginx i vHost

W przypadku tego serwera może nie jest trudniej, ale już wymagana jest edycja pliku danego wirtualnego hosta (vHost/domena), np.:

  • /etc/nginx/sites-enabled/default
  • /etc/nginx/sites-enabled/rembiejewski.pl

Tam w sekcji „serwer” dodajemy linijkę:

return 301 $scheme://$http_host$request_uri;

Czyli będzie to wyglądało tak:

server {
 [...]
 return 301 $scheme://$http_host$request_uri;
 [...]
}

Wersja alternatywna – najczęściej prze zemnie wykorzystywane przekierowanie, które kieruje cały ruch bezpośrednio na domenę, z pominięciem „subdomeny” www:

# www.domena -> domena
 server {
 server_name www.[DOMENA];
 return 301 $scheme://[DOMENA]$request_uri;
}

Ew. jakby ktoś chciał odwrotnie:

server {
 server_name [DOMENA];
 return 301 $scheme://www.[DOMENA]$request_uri;
}

Oczywiście podany wyżej kod (1 z 2) wstawiamy powyżej standardowe wpisu konfiguracyjnego serwera.

I na koniec restart serwera:

sudo service nginx restart

lub chociaż odświeżenie ustawień:

sudo service nginx reload
Zgłoś błąd na stronie

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!

WebInsider poleca księgowość wFirma
WebInsider korzysta z VPSa w HitMe.pl
WebInsider poleca VPSy DigitalOcean
WebInsider poleca serwis Vindicat
Napisz komentarz
wipl_napisz-komentarz_01Jeśli informacje zawarte na tej stronie okazały się pomocne, możesz nam podziękować zostawiając poniżej swój komentarz.

W tej formie możesz również zadać dodatkowe pytania dotyczące wpisu, na które - w miarę możliwości - spróbujemy Ci odpowiedzieć.
Linki partnerskie
Niektóre z linków na tej stronie to tzw. "linki partnerskie", co oznacza, że jeśli klikniesz na link i dokonasz wymaganej akcji (np. zakup/rejestracja) możemy otrzymać za to prowizję. Pamiętaj, że polecamy tylko te produkty i usługi, z których sami korzystamy, i uważamy, że są tego na prawdę warte... :-)
Znaki towarowe i nazwy marek
W niektórych wpisach (oraz innych miejscach na stronie) mogą być przedstawione/użyte znaki towarowe i/lub nazwy marek, które stanowią własność intelektualną tych podmiotów, a zostały użyte wyłącznie w celach informacyjnych.

Potrzebujesz profesjonalnej pomocy? Skontaktuj się z nami!