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

Upraveno 6 prosince, 2023 06:31

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í webu z http na https. 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.

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

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.

Web je vytvářen s pečlivostí k obsaženým informacím. Snažím se poskytovat kvalitní a užitečný obsah, který ostatním pomáhá, nebo je inspiruje. Pokud jste spokojeni s mou prací a chtěli byste mě podpořit, můžete to udělat prostřednictvím jednoduchých možností.

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.

newsletter

Odebírejte Newsletter

Buďte v obraze! Připojte se k odběru newsletteru a buďte první, kdo získá nejnovější informace přímo do vaší e-mailové schránky. Sledujte aktuality, exkluzivní události a inspirativní obsah, přímo na Vašem e-mailu.  

Odebírat
Upozornit na
guest
0 Komentáře/ů
Vložené zpětné vazby.
Zobrazit všechny komentáře.

Pokud mi chcete napsat rychlou zprávu, využije, prosím, níže uvedený
kontaktní formulář. Děkuji.

Další Kontaktní údaje