Velice jednoduchý kód, který vložíte do souboru .htaccess:
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Toto zajistí, že pokud zadáme URL s http://, automaticky nás to přesměruje na verzi s https://. Dejte si pozor, abyste tak měli nastaveny i Vaše webové stránky, potažmo PHP skripty! Jinak by vznikla smyčka přesměrování – web by chtěl HTTP a .htaccess zase HTTPS (a Vy také).
Kód přesměrovává jak doménu, tak i obsah za lomítkem – pokud to nechcete, odstraňte {REQUEST_URI}.
[R=301] dává prohlížeči vědět, že se jedná o permanentní přesměrování. To znamená, že prohlížeč se již sám nebude snažit navštívit HTTP verzi, ale rovnou bude chodit na verzi s HTTPS.
Můžeme využít také obdobný zápis .htaccess. Toto použijte, pokud se Vám korektně nepřesměrovávají podstránky za lomítkem:
RewriteEngine On RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
Nechceme-li používat .htaccess, můžeme do hlavičky každého PHP souboru vložit následující:
<?php if ($_SERVER['HTTP'] == "on") { $url = "https://". $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']; header("Location: $url"); exit; } ?>
Zdravím, jaký je prosím rozdíl mezi
RewriteCond %{HTTPS} !=on
a
RewriteCond %{HTTPS} off
Ahoj, obě podmínky dělají totéž.