SSLmentor

SSL/TLS certifikáty pro kvalitní HTTPS zabezpečení webových stránek a internetových projektů.

Nastavení přesměrování na HTTPS v .htaccess

Po nasazení SSL certifikátu na webhosting musíme zajistit, aby veškerá komunikace probíhala po zabezpečeném protokolu HTTPS. Návštěvníci stránek zadávají do prohlížeče zkrácenou adresu stránek, někdy vloží s www, jindy pouze název domény bez www. Na internetu mohou být také starší odkazy na adresu http://. Tyto případy musíme ošetřit tak, aby vše směrovalo správně na adresu s HTTPS protokolem a také pouze jednu variantu s/bez www.

Přesměrování na HTTPS

Pomocí editace souboru .htaccess docíláme přesměrování a zobrazení adresy HTTPS:// na svém webu. Do souboru .htaccess přidejte následující řádky, tím se zajistí trvalé (301) přesměrování všech adres a současně bude přesměrování nastaveno i pro vyhledávače. Soubor .htaccess naleznete v domovské složce vašeho webu.

RewriteEngine On

# redirection http -> https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Přesměrování adres s www a bez www

V nastavení domény bychom si měly vždy určit, zda se bude doména zobrazovat s adresou www nebo bez www. Z hlediska uživatelského je adresa domény www.domenaxyz.cz upřednostňována a lidé chápou internetovou adresu s uváděním www. Tento zápis se hodí více i z hlediska marketingu. Naopak u technicky zaměřených webů se často používá adresa bez uvedení www. Je také nutné vzít v potaz, že Google v prohlížeči Chrome, chce schovat nejenom text "https://"", ale i "www.". Rohodnutí je vždy na každém zvlášť.

Pro SEO si určete pouze jednu adresu. Důvodem je, že vyhledávače mohou indexovat obě adresy a snižovat tak hodnotu obsahu ve vyhledávání.

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

# presmerovani z adresy www. pouze na http://
#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Správné přesměrování podle Mozilla.org

Podle doporučení Mozilla je postup správného přesměrování: http://example.com → https://example.com → https://www.example.com
Toto nastavení umožňuje správně použít záhlaví protokolu HTTP pro hlavičku HSTS.

Nesprávné přesměrování http://example.com → https://www.example.com je penalizováno v testu webových stránek na adrese observatory.mozilla.org

Testovbání kvality přesměrování

Vzor .htaccess přesměrování na HTTPS + doména s www

Kompletní kód, který můžete vložit do souboru .htaccess na většině webhostingů pro výsledek https://www.domenaxyz.cz.

RewriteEngine On

# redirection http -> https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# adresa bez www -> www. + https
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Vzor .htaccess přesměrování na HTTPS a doménu bez www

Kompletní kód, který můžete vložit do souboru .htaccess na většině webhostingů pro výsledek https://domenaxyz.cz.

RewriteEngine On

# redirection http -> https
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

# redirection www. -> https://
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

Pokud máte zájem o studium mod_rewrite v .htaccess, doporučujeme stránku Mod_rewrite - pokročilá manipulace s URL od základů

SSLmentor doporučuje

Přesměrování zajistí také HSTS nastavení

HSTS umožňuje v HTTP hlavičce prohlížeči sdělit, že na dané doméně (ev. subdoménách) musí být komunikace vedená vždy pomocí HTTPS. Cílem je zabránit úvodnímu přesměrování po HTTP, které může být zmanipulováno. Jakmile se klient od serveru HSTS podmínku naučí, vždy přichází rovnou po HTTPS.

SSL služby