Nastavení htacces

Vyřešeno805 zhlédnutíDomény
0

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
0

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
0
46.10K Odpověď od WEDOS Internet, a.s. 0 Comments

Dobrý den,

pokud vše funguje a nejsou žádné potíže, tak je vše v pořádku.

Role: Podpora Web: https://wedos.cz Vizitka: Produktový manažer.
RM130195 Odpověděl na otázku 6. 4. 2020