Alias nenačítava správne koreň iba s https
Mam hlavný web ten ma subdomeny v zložke subdom, všetko funguje, mam aj jeden Alias v zložke domains tam funguje všetko až na jednu vec ak zadám ten alias ktorý ma iný obsah ako hlavný web do prehliadača tak hodí link nazovaliasu.sk/domains/nazovaliasu.sk pokliknuti na logo webu alebo kategóriu v menu, už všetko funguje správne.
skúšal som aj úpravu .htaccess
Pre podporu uvediem aj detaily
hlavna domena smartservis.sk, alias verovizu.sk
3 Odpověď
Dobrý den,
do souboru .htaccess v adresáři /www/ je vhodné nepřidávat žádný kód pro přesměrování na HTTPS, pokud využíváte adresáře /domains/ a /subdom/.
(Pokud je nevyužíváte a máte web přímo v /www/ tak jej samozřejmě upravujte)
Obsah by tedy měl být pouze
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]
Pokud se však rozhodne přesměrování nastavit již zde, mělo tento kód, který přesměruje všechny domény a subdomény (pokud tedy případně vytvoříte obsah pro novou doménu, pro kterou nebudete mít vygenerovaný certifikát, bude Vám to psát chybu)
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Případně můžete i kód pro přesměrování konkrétní domény (to lze vložit do výchozícho .htaccessu či .htaccessu v adresáři s webem – zde je to jedno) Tento kód doporučujeme využívat.
RewriteCond %{HTTP_HOST} ^domena\.cz [NC]
RewriteRule (.*) https://www.domena.cz/$1 [R=301,QSA,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://www.domena.cz/$1 [R=301,L]
V případě že chcete přesměrování řešit v .htaccessu v doménovém adresáři, je možné vložit tento kód
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
Ten doporučujeme obzvláště v kombinaci s WordPressem.
Toto řešení jsem nastavil u Vás, tedy v /www/ je pouze náš výchozí .htaccess bez přesměrování a v domových adresářích s WordPressem máte následující
# BEGIN HTTPS WEDOS
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
# END HTTPS WEDOS
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Viz -> https://help.wedos.cz/navody/cms/nastaveni-https-ve-wordpressu-wp/
Dobrý den,
kód pro přesměrování na HTTPS v souboru /www/.htaccess přesuňte na začátek pod RewriteEngine On, tedy to bude vypadat následovně
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
# cele domeny (aliasy) ...
Dobrý den,
zkuste to prosím nyní.