Přesměrování na HTTPS
Dobrý den,
chtěl se zeptat, jak vyřešit problém s přesměrováním na HTTPS. Mám naprosto stejný problém jako je popsán zde: https://help.wedos.cz/otazka/presmerovani-na-https/13179/
Bohužel zde není napsáno řešení problému. Vyzkoušel jsem udělat stejné možnosti jako byly popsány níže, ale vždy se stejným výsledkem.
Jedná se o doménu duo-kontrast.cz.
Děkuji za pomoc a přeji hezký den.
S pozdravem,
Radek Gomola
Dobrý den.
Používám Váš hosting s administračním systémem WordPress.
Mám aktivovanou příplatkovou službu \”podpora HTTPS na doméně (SNI), podle toho návodu jsem nastavil doménu woodpecker-woodcrafts.com pro Let´s Encrypt certifikát. Následně jsem podle tohoto návodu upravil v administraci WordPress základní nastavení u instalace WordPressu na https://woodpecker-woodcrafts.com a úvodní stránku také na https://woodpecker-woodcrafts.com. Dosud vše fungovalo, stránky se zobrazovaly jako zabezpečené s https protokolem, přihlášení do administrace WordPress proběhlo bez problémů. Problém nastal v dalším kroku při úpravě souboru .htaccess.
Můj původní soubor .htaccess ve složce www/, který jsem upravoval, vypadal takto:
# htaccess rules for subdomains and aliases # to create new subdomain, create a folder www/subdom/(subdomain name) # to create web for alias, create a folder www/domains/(whole domain name) # htaccess pravidla pro subdomeny a samostatne weby aliasu # pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny) # pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev) # dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html RewriteEngine On # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\\.)?(.*)\\.([^\\.]*)\\.([^\\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]Po provedených změnách dle návodu vypadal takto:
# htaccess rules for subdomains and aliases # to create new subdomain, create a folder www/subdom/(subdomain name) # to create web for alias, create a folder www/domains/(whole domain name) # htaccess pravidla pro subdomeny a samostatne weby aliasu # pro vytvoreni subdomeny vytvorte adresar www/subdom/(nazev subdomeny) # pro vytvoreni webu pro alias vytvorte adresar www/domains/(cely domenovy nazev) # dalsi info a priklady: http://kb.wedos.com/r/32/webhosting-htaccess.html RewriteEngine On # presmerovani HTTPS RewriteCond %{HTTP_HOST} ^woodpecker-woodcrafts\\.com [NC] RewriteRule (.*) https://www.woodpecker-woodcrafts.com/$1 [R=301,QSA,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://www.woodpecker-woodcrafts.com/$1 [R=301,L] # cele domeny (aliasy) RewriteCond %{REQUEST_URI} !^domains/ RewriteCond %{REQUEST_URI} !^/domains/ RewriteCond %{HTTP_HOST} ^(www\\.)?(.*)$ RewriteCond %{DOCUMENT_ROOT}/domains/%2 -d RewriteRule (.*) domains/%2/$1 [DPI] # subdomeny (s nebo bez www na zacatku) RewriteCond %{REQUEST_URI} !^subdom/ RewriteCond %{REQUEST_URI} !^/subdom/ RewriteCond %{HTTP_HOST} ^(www\\.)?(.*)\\.([^\\.]*)\\.([^\\.]*)$ RewriteCond %{DOCUMENT_ROOT}/subdom/%2 -d RewriteRule (.*) subdom/%2/$1 [DPI] # aliasy - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^domains/[^/]+/(.+[^/])$ /$1/ [R] # subdomeny - spravne presmerovani pri chybejicim / RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^subdom/[^/]+/(.+[^/])$ /$1/ [R]Po modifikaci souboru se nedokážu přihlásit do administrace wordpress, po zadání přihlašovacích újadů jsem přesměrován na stejnou stránku přihlášení. Vymazání veškerých cookies situaci nemění. Při zadání adresy webu se zobrazí chyba: smyčka při přesměrování. Zkusil jsem upravit .htaccess soubor přesně podle návodu výše. Výsledek vypadal takto:
# BEGIN WordPress RewriteEngine On RewriteCond %{HTTP_HOST} ^woodpecker-woodcrafts\\.com [NC] RewriteRule (.*) https://www.woodpecker-woodcrafts.com/$1 [R=301,QSA,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://www.woodpecker-woodcrafts.com/$1 [R=301,L] RewriteBase / RewriteRule ^index\\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPressPo této změně se při pokusu načtení stránky přihlášení do administrace wordpress zobrazí chyba 404 /index.php nenalezen na tomto serveru. Při zadání url stránky se zobrazí uvítací obrazovka Wedos – webhosting je aktivní. Po smazání souboru index.html ze složky www/ se situace nemění.
Poradíte mi, prosím, jak vyřešit tento problém? Děkuji
1 Odpověď
Edit: vyřešil jsem použitím jiných pravidel z internetu:
# all redirection HTTP -> HTTPS
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]# redirection no www -> https://www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]# redirection www. -> https://
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]