Přesměrování na HTTPS

Vyřešeno2.57K zhlédnutíDomény
0

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 WordPress

Po 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

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
RM130195 Vybral nejlepší odpověď 4. 2. 2020
0
46.10K Odpověď od WEDOS Internet, a.s. 0 Comments

Dobrý den,

v kódu vidím jeden přebytečný znak \

Namísto RewriteCond %{HTTP_HOST} ^woodpecker-woodcrafts\\.com [NC] má být:

RewriteCond %{HTTP_HOST} ^woodpecker-woodcrafts\.com [NC]

Možná to bude ten problém.

Role: Podpora Web: https://wedos.cz Vizitka: Produktový manažer.
RM130195 Odpověděl na otázku 27. 1. 2020
Prohlížíte 1 ze 4 odpovědí, klikněte zde pro zobrazení všech odpovědí.