Jak přesměrovat web z HTTP na HTTPS a přidat WWW?

by Zdeněk Večeřa 0 Comments

Přesměrování všech požadavků z HTTP na HTTPS a přidání www lze snadno provést pomocí .htaccess souboru (Apache) s následujícím obsahem. Myslete na to, že je nejlepší řešení nejprve všechno přesměrovat z HTTP na HTTPS a až poté v dalším kroku přidat WWW.

Měli byste vědět, že uvedený postup vyžaduje také HSTS (HTTP Strict Transport Security, neboli vynucené HTTPS), takže pokud jej někdy v budoucnu budete chtít využít, budete aspoň připraveni.

Přesměrování tedy může vypadat nějak takto:

RewriteEngine On

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

# https://zdenekvecera.cz -> https://www.zdenekvecera.cz
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,NE,L]

Vysvětlení přepínačů:

  • NC (case insensitive) říká, že při porovnávání řetězce nezáleží na velikosti písmen, projde www i WWW
  • R=301 (redirect) znamená, že přesměrováváme trvale s kódem 301
  • NE (no escape) říká, že nebudeme escapovat, takže dostaneme hodnota:id, nikoli hodnota%3Aid
  • L (last) značí, že se po provedení nebude pokračovat v provádění dalších příkazů

 

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..