Přesměrování z HTTP na HTTPS

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;
}
?>

Napište komentář!