Přesměrování na HTTPS a WWW/non-WWW doménu

Vyřešeno3.03K zhlédnutíWebhosting
0

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]

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
JS61349 publikoval nový komentář 5. 3. 2023
0
46.16K Odpověď od WEDOS Internet, a.s. 0 Comments

Dobrý den,

máme připravená tato pravidla, ale jsou tam hardcodované názvy domén.

RewriteEngine On
# přesměrování všech variant bez www na zabezpečenou variantu s www
RewriteCond %{HTTP_HOST} ^domena\.cz [NC]
RewriteRule (.*) https://www.domena.cz/$1 [R=301,QSA,L]

# přesměrování nezabezpečené varianty na zabezpečenou variantu s www
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.domena.cz/$1 [R=301,L]

# přesměrování všech dalších nezabezpečených požadavků na zabezpečené
Header set Content-Security-Policy "upgrade-insecure-requests;"

Třeba se vám podaří z nich udělat proměnné, měly by fungovat stejně. Proměnná se mi osvědčila třeba tato:

%{SERVER_NAME}
Role: Podpora Web: https://wedos.cz Vizitka: Produktový manažer.
RM130195 Vybral nejlepší odpověď 8. 6. 2020
0

Ještě dodám, že na webu je pro testovací účely použit nedůvěryhodný Wedos certifikát. Ale pro účely přesměrování by o snad vadit nemělo.

Role: Zákazník
RC238478 publikoval nový komentář 9. 6. 2020
0

Díky,

toto je jedna z variant, kterou jsem zkoušel. Na první pohled vypadá, že by měla fungovat, avšak některé URL přesto směruje chybně.

Např.

https://r3gi.cz/GrumpyCat.png

vede na

https://r3gi.cz/GrumpyCat.png

dále

http://r3gi.cz/GrumpyCat.png

vede na

http://r3gi.cz/GrumpyCat.png

a

http://www.r3gi.cz/GrumpyCat.png

vede na

http://www.r3gi.cz/GrumpyCat.png

Viz přehledněji Redirect Checker.

Obsah (kořenového) .htaccess souboru je následující. Nic dalšího tam pro účely testů není.

# Turn on Rewrite Engine
RewriteEngine On
 # Force WWW
RewriteCond %{HTTP_HOST} ^r3gi\.cz [NC]
RewriteRule (.*) https://www.r3gi.cz/$1 [R=301,QSA,L]
 # Force HTTPS
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.r3gi.cz/$1 [R=301,L]
 # Force secure requests
Header set Content-Security-Policy "upgrade-insecure-requests;"

Aktuálně je na hostingu nasazen tento htaccess soubor, takže neváhejte testovat  🙂 Uvítám jakoukoliv radu. Už mi nějak dochází nápady.

Role: Zákazník
admin Změnil status na publikováno 2. 6. 2020
0

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.

Role: Zákazník
PK265670 Změnil status na publikováno 31. 5. 2020