Přesměrování na HTTPS a WWW/non-WWW doménu
Zdravím,
snažím se pomocí úpravy .htaccess souboru nastavit přesměrování veškerého provozu na HTTPS verzi webu a zároveň na WWW nebo non-WWW doménu. A to nejen pro přístup na doménu, ale i pro všechny soubory či jiné atributy v URL.
Bohužel se mi to nedaří, vždy je někde mezera. Kontrolu provádím nástrojem https://www.seobility.net/en/redirectcheck/.
Zkoušel jsem všechno možné, ale nefunguje ani nastavení doporučené ve Wedos návodu. Vždy to nějaké requesty vynechá.
Dokázal by mi prosím někdo poradit?
# Turn on Rewrite Engine
RewriteEngine On
# Force HTTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Zkoušel jsem i použití hlaviček (viz generátor):
# Force HTTPS and remove WWW
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [OR,NC]
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTP:X-Forwarded-SSL} !https
RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
4 Answers
Cílová by měla být nejlépe non-www doména s 301 přesměrováním, kvůli SEO. Testuji to na webíku r3gi.cz. Potřebuji, aby byly dostupné všechny kombinace, tj. např.
http://r3gi.cz
https://r3gi.cz
http://www.r3gi.cz
https://www.r3gi.cz
A zároveň obdobně i přístup k souborům, např.
http://r3gi.cz/GrumpyCat.png
…či k subdoménám a souborům pod nimi.
https://phpbb.r3gi.cz/
Pro snadnou kontrolu používám zmíněný Redirect checker.
Zkoušel jsem vše možné, ale vždy je alespoň jedna varianta, která je nepokryta. Ideálně bych to chtěl udělat dynamicky, bez zbytečného hardcodování názvů domén.