Forțare HTTPS prin rescriere – Redirecționarea automată a traficului HTTP în Apache HTTP Server

Redirecționează permanent (301) toți vizitatorii de la protocolul necriptat HTTP către conexiunea securizată HTTPS.

Sintaxă
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ce face Forțare HTTPS prin rescriere - Redirecționarea automată a traficului HTTP

Pentru securitatea datelor și conformitatea cu cerințele motoarelor de căutare (Google), întregul trafic web trebuie servit exclusiv prin HTTPS.

Variabila de mediu %{HTTPS} are valoarea `off` atunci când cererea a fost făcută pe portul nesecurizat 80.

Regula rescrie cererea folosind variabilele `%{HTTP_HOST}` (domeniul curent) și `%{REQUEST_URI}` (calea exactă solicitată), păstrând structura paginilor.

Exemple

Exemplul 1: Regula standard de forțare HTTPS în fișierul .htaccess

Redirecționează instant orice cerere HTTP către HTTPS.

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

Ieșire în terminal

http://dexblog.ro/ghid -> 301 Moved Permanently -> https://dexblog.ro/ghid

Greșeli frecvente

  • Folosirea acestei reguli în spatele unui Reverse Proxy sau Cloudflare SSL Flexible fără a verifica antetul ‘X-Forwarded-Proto’, ceea ce va cauza o buclă infinită de redirecționări (Redirect Loop).

Comenzi înrudite