Nastavení htacces
Dobrý den,
prosím o pomoc s nastavením přesměrování v htacess. Potřebuji:
- všechny stránky bez www přesměrovat na www variantu
- všechny stránky http přesměrovat na https
Ideálně co nejjednušší abych to pochopil. Moje současné nefungující htacess:
# 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] # https - presmerovani na zabezpecene pripojeni RewriteCond %{HTTPS} !=on RewriteRule .* https://%{SERVER_NAME} [R=301] Header set Content-Security-Policy "upgrade-insecure-requests;" # BEGIN WordPress # Direktivy (řádky) mezi 'BEGIN WordPress' a 'END WordPress' jsou # dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu. # Veškeré změny směrnic mezi těmito značkami budou přepsány. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Děkuji za pomoc.
Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
RM130195 Vybral nejlepší odpověď 6. 4. 2020
2 Answers
Tak se mi podařilo stránky rozchodit přesunutím podmínky http -> https na začátek. Ale stejně prosím o kontrolu, zdali je to takto správně, případně prosím o opravu.
# 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 HTTP -> HTTPS RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [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] # BEGIN WordPress # Direktivy (řádky) mezi 'BEGIN WordPress' a 'END WordPress' jsou # dynamicky generované a měly by být upravovány pouze pomocí filtrů WordPressu. # Veškeré změny směrnic mezi těmito značkami budou přepsány. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Role: Zákazník
RM130195 Vybral nejlepší odpověď 6. 4. 2020
Dobrý den,
pokud vše funguje a nejsou žádné potíže, tak je vše v pořádku.
RM130195 Odpověděl na otázku 6. 4. 2020