Ako nastaviť presmerovanie na https v .htaccess
Po nasadení SSL certifikátu na webhosting musíme zabezpečiť, aby všetka komunikácia prebiehala po zabezpečenom protokolu HTTPS. Návštevníci stránok zadávajú do prehliadača skrátenú adresu stránok, niekedy vloží s www, inokedy iba názov domény bez www. Na internete môžu byť tiež staršie odkazy na adresu http://. Tieto prípady musíme ošetriť tak, aby všetko smerovalo správne na adresu s HTTPS protokolom a tiež iba jeden variant s/bez www.
Presmerovanie na HTTPS
Pomocou editácie súboru .htaccess docielime presmerovanie a zobrazenie adresy HTTPS:// na svojom webe. Do súboru .htaccess pridajte nasledujúce riadky, tým sa zaistí trvalé (301) presmerovanie všetkých adries a súčasne bude presmerovanie nastavené aj pre vyhľadávače. Súbor .htaccess nájdete v domovskej zložke vášho webu.
RewriteEngine On
# http na https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]
Presmerovanie adres s www a bez www
V nastavení domény by sme si mali vždy určiť, či sa bude doména zobrazovať s adresou www alebo bez www. Z hľadiska uživateleského je adresa domény www.domenaxyz.sk uprednostňovaná a ľudia chápu internetovú adresu s uvádzaním www. Tento zápis sa hodí viac aj z hľadiska marketingu. Naopak u technicky zameraných webov sa často používa adresa bez uvedenia www. Rohodnutí je vždy na každom zvlášť.
Pre SEO si určte iba jednu adresu. Dôvodom je, že vyhľadávače môžu indexovať obe adresy a znižovať tak hodnotu obsahu vo vyhľadávaní.
# presmerovanie bez www na www.
#RewriteCond %{HTTP_HOST} !^www\. [NC]
#RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# presmerovanie z www. na bez http://
#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
#RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Vyššie uvedený kód vložte do súboru .htaccess a vyberte si druh presmerovania a odtraňte znak '#' pred RewriteCond a RewriteRule. Presmerovanie, ktoré nebudete využívať môžete zmazať.
Vzor .htaccess presmerovania https:// + doména s www
Kompletné kód, ktorý môžete vložiť do súboru .htaccess na svojom webhostingu.
RewriteEngine On
# bez www na www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
# http na https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R=301,L]
Kam ďalej?
Späť na Nápovedu
Našli ste chybu alebo niečomu nerozumiete? Napíšte nám!