Přesměrování komunikace http na https prostřednictvím .htaccess
Dobrý den, prosím o nápovědu – nedaří se mi.
Jde o to, že na webu https://mineralnisoli.cz chci zabezpečit pomocí .htaccess přesměrování komunikace z http na https.
ve složce: /www/domains/mineralnisoli.cz mám:
Původní obsah .htaccess:
# 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
Postupoval jsem podle návodu na stránce:
https://help.wedos.cz/navody/cms/nastaveni-https-ve-wordpressu-wp/
RewriteCond %{HTTP_HOST} ^vase-domena\.tld [NC] RewriteRule (.*) https://www.vase-domena.tld/$1 [R=301,QSA,L] RewriteCond %{HTTPS} off RewriteRule (.*) https://www.vase-domena.tld/$1 [R=301,L]
a .htaccess jsem upravil na:
(pojmenováno na .htaccess_spatny)
# 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
RewriteCond %{HTTP_HOST} ^mineralnisoli\.cz [NC]
RewriteRule (.*) https://mineralnisoli.cz/$1 [R=301,QSA,L]
RewriteCond %{HTTPS} off
RewriteRule (.*) https://mineralnisoli.cz/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
ale když to nahraju na server, tak se mi vrací 500
Prosím – kde mám chybu?
4 Answers
Celý kód .htaccess pre Váš WordPress by mal byť takýto:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{HTTPS} off RewriteRule (.*) https://mineralnisoli.cz/$1 [L,R=301,NE] </IfModule> # BEGIN WordPress <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
Ja používam niečo takéto, slúži to na presmerovanie http na https a súčasne aj adries bez www:
RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} !^www.domena\.cz$ [NC] RewriteRule ^(.*)$ https://www.domena.cz/$1 [R=301,L]
Dobrý den, děkuji za Vaší ochotu mi pomoci. Ale bohužel to nezabralo, jakmile jsem obsah .htaccess zaměnil tím co jste mi dal, tak také dostávám 500 – jukněte prosím na obrázek:
Dělám to ve správném .htaccess?
www/domains/mineralnisoli.cz/?
Jakmile jsem vrátil původní obsah, tak to zase publikuje.
Dobrý den,
přesměrování by mělo fungovat i .htaccessu, který je umístěn v doménovém adresáři. Nicméně vyzkoušejte kód pro přesměrování zadat i v adresáři /www/.
Případně do .htaccassu v doménovém adresáři vyzkoušejte tento kód:
RewriteCond %{HTTPS} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]