Automatické přesměrování webu z HTTP na HTTPS

V dnešní době prakticky každý z poskytovatelů sdíleného webhostingu poskytuje ať už zdarma, nebo za poplatek SSL certifikáty a umožňuje tak provoz webu pod HTTPS protokolem. Ne vždy ale funguje automatické přesměrování provozu z nezabezpečeného protokolu na ten zabezpečený. Automatické přesměrování, pokud někdo zadá doménu na HTTP protokolu musíte tedy provést nějakou formou manuálně, jako administrátoři webu. Jedním z velmi dobrých způsobů, jak toto můžete provést je formou .htaccess souboru pro Linuxové weby, nebo formou web.config souboru pro Windows weby.

Do těchto souborů poté vložíte direktivy, které návštěvníka Vašeho webu automaticky přesměrují na zabezpečený protokol. Ten mimo jiné vyžadují prakticky všechny moderní vyhledavače jako Google, Bing a pod.

Pojďme se tedy podívat na to, jak takové přesměrování provést.

Připojte se na FTP pomocí FTP klienta

Jako první krok k tomu, abyste soubory .htaccess nebo web.config mohli začít upravovat, bude připojení na FTP Vašeho webu. Teprve tam můžete soubory buď editovat, pokud tam již jsou, nebo je můžete vytvořit a nahrát. Mezi oblíbený nástroj pro připojení k FTP patří např. Fillezila. Tu můžete stáhnout a používat zcela zdarma. K připojení na FTP budete také potřebovat údaje k připojení jako je jméno serveru, login a heslo. Tyto údaje by Vám měl zaslat poskytovatel webhostingu.

FTP klienta Filezilla můžete zdarma stáhnout zde: https://filezilla-project.org/

Připojení na FTP je v programu Filezilla poměrně jednoduché. V horním panelu programu pouze vyplníte údaje, které Vám odeslal poskytovatel webhostingu po jeho vytvoření. Port až na výjimky není nutné vyplňovat, pokud Vám poskytovatel webhostingu nenapíše jinak. Po stisknutí tlačítka připojení se dostanete na FTP, kde uvidíte datovou strukturu webu. Soubor .htaccess nebo web.config by měl být nahraný v hlavní složce s daty, tzv. root složce.

jak se připojit ve Filezille k FTP

Direktivy pro soubory (přesměrování provozu z http na https)

Direktivy můžeme rozdělit na dvě základní. Označím je jako variantu A a B. Varianta A provádí přesměrování na přímo určenou doménu, a je vhodná, pokud máte na webu nastavené např. aliasy, ale certifikát je vydaný pouze pro hlavní doménu. Takové aliasy Vám potom na HTTPS protokolu nefungují a je tedy nutné zajistit to, že se alias přesměruje na hlavní doménu a HTTPS protokol. Jedinou nevýhodou pak je to, že se Vám bude adresa aliasu přepisovat v adresním řádku na jméno hlavní domény. Varianta B v sobě jméno domény nenese a zajišťuje pouze přesměrování provozu na HTTPS protokol. Tuto variantu můžete zvolit v momentě, kdy je na webu pouze hlavní doména bez aliasů, nebo kdy máte pro každý alias platný certifikát.

Direktivy pro soubor .htaccess

varianta A

RewriteEngine On
RewriteCond %{HTTPS} off [NC]
RewriteRule (.*) https://www.nazev-domeny.cz%{REQUEST_URI} [L,R=301,QSA]

varianta B

RewriteEngine On
RewriteCond %{HTTPS} off [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,QSA]

Direktivy pro soubor web.config

varianta A

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to HTTPS" stopProcessing="true">
        <match url="(.*)" />
        <conditions logicalGrouping="MatchAny">
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
          <add input="{HTTP_HOST}" pattern="^www.nazev-domeny.cz$" negate="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="https://www.nazev-domeny.cz/{R:1}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>   
</configuration>

varianta B

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
  <rewrite>
    <rules>
      <rule name="Redirect to HTTPS" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
          <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions>
        <action type="Redirect" redirectType="Permanent" url="https://{HTTP_HOST}/{R:1}" />
      </rule>
    </rules>
  </rewrite>
</system.webServer>   
</configuration>

Proč je u WordPressu vhodné, abyste použili soubor .htaccess, namísto home a site URL s HTTPS?

Pokud použijete jako způsob přesměrování provozu z HTTP na HTTPS nastavení WordPressu, tedy zadání domény s HTTPS v nastavení home a site URL, načítá se Váš web defacto dvakrát. Nejprve se načte celý obsah jako HTTP verze, a teprve po načtení provede samotný WordPress přesměrování provozu na HTTPS. Tím si logicky web zpomalujete. Pokud namísto toho ale použijete pro přesměrování výše uvedené soubory (podle typu operačního systému hostingu), vyhnete se tomuto dvojímu načítání obsahu webu, a samotné prvotní načtení webu proběhne rychleji.

Byl pro Vás tento článek užitečný?

Klikni na počet hvězd pro hlasování.

Průměrné hodnocení. 0 / 5. Počet hlasování: 0

Zatím nehodnoceno! Buďte první

Jak užitečný vidíte tento článek.

Sledujte mě na sociálních médiích.

Je mi líto, že pro Vás nebyl článek užitečný.

Jak mohu vylepšit článek?

Řekněte mi, jak jej mohu zlepšit.

Napsat komentář