htaccess z www czy bez

Podziel się z innymi!

    Sporadycznie – tworząc nowy serwis, czy stronę internetową publikuję ją na serwerze. Dążąc do optymalizacji pod względem SEO staram się aby serwis dostępny był tylko pod jednym adresem. Dokładnie rzecz ujmując to pod wieloma, ale przy wejściu z alternatywnego adresu użytkownik powinien zostać przekierowany na adres główny, a przy okazji powinien zostać wysłany nagłówek 301 Moved Permanently. Najczęściej alternatywne adresy występują w postaci z przedrostkiem (subdomeną) www i bez. Dla przykładu adres example.com może też wystąpić w wersji www.example.com co wydaje się być jednym i tym samym a tym czasem to dwa zupełnie różne adresy.

    Korzystając z dobrodziejstw serwera Apache i tzw. mod-rewrite-a możemy do tego celu użyć plików .htaccess. Ponieważ rzadko modyfikuję wyżej wspomniane pliki, najczęściej wpisując w nie znane i wypróbowane regułki, lubię kiedy są możliwie uniwersalne. W tym przypadku udało mi się znaleźć przykłady, które świetnie się sprawdzają i z uwagi na swą uniwersalność nie wymagają modyfikacji po przekopiowaniu na inny serwer gdzie podpięta jest inna domena.

    Wymuszenie subdomeny www…

    RewriteCond %{HTTP_HOST} !^www. [NC]
    RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
    

    i na odwrót.

    RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
    RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
    
    Podziel się z innymi!