❗ přesměrování https wordpress/woocommerce ❗

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

Dobrý den,

řeším přesměrování v rámci shopu avason.cz, konkrétně varianty http na https a také všech variant www na bez www. Přesměrování fungovalo korektně, potíž je v tom, že systém po čase smaže vložené řádky v htaccesu mezi direktivami ‚BEGIN WordPress‘ a ‚END WordPress‘.

Vložil jsem proto pravidla nad tyto řádky, ale zjevně je někde chyba. Varianta přesměrování z www na variantu bez www je v pořádku, nikoliv však z http na https. Například domovskou stránku http://avason.cz přesměruje na https://avason.cz/domains/avason.cz/ (404)

Předem děkuji za rychlou pomoc.
Ondra

htaccess vypadá takto:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.avason\.cz [NC]
RewriteRule (.*) https://avason.cz/$1 [R=301,QSA,L]

RewriteCond %{HTTPS} off
RewriteRule (.*) https://avason.cz/$1 [R=301,L]

# BEGIN LSCACHE
# END LSCACHE
# BEGIN NON_LSCACHE
# END NON_LSCACHE
# 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
# BEGIN WP Performance Score Booster Settings
# Direktivy (řádky) mezi ‚BEGIN WP Performance Score Booster Settings‘ a ‚END WP Performance Score Booster Settings‘ 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.
# END WP Performance Score Booster Settings

# LBROWSERCSTART Browser Caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif „access 1 year“
ExpiresByType image/jpg „access 1 year“
ExpiresByType image/jpeg „access 1 year“
ExpiresByType image/png „access 1 year“
ExpiresByType image/x-icon „access 1 year“
ExpiresByType text/css „access 1 month“
ExpiresByType text/javascript „access 1 month“
ExpiresByType text/html „access 1 month“
ExpiresByType application/javascript „access 1 month“
ExpiresByType application/x-javascript „access 1 month“
ExpiresByType application/xhtml-xml „access 1 month“
ExpiresByType application/pdf „access 1 month“
ExpiresByType application/x-shockwave-flash „access 1 month“
ExpiresDefault „access 1 month“
</IfModule>
# END Caching LBROWSERCEND

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
RM130195 Vybral nejlepší odpověď 25. 2. 2020
0
JŠ255861 53.67K - WEDOS Internet, a.s. 0 Comments

Dobrý den,

aby nedocházelo k duplikování url, tak je potřeba aby tento kód byl v .htaccessu, který se nachází v /www/ a nikoliv /www/domains/domena.tld/

RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Případně do toho původního .htaccessu použijte

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]
Role: Podpora Web: https://stackoverflow.com/ Vizitka: Roses are Red, Violets are Blue Unexpected '{' on line 32.
RM130195 Vybral nejlepší odpověď 25. 2. 2020
0

Zkuste mrknout na pingdom.com

Zde je také vidět, jak dochází k nesmyslnému přesměrování končícímu odpovědí 404

Role: Zákazník
JŠ255861 Změnil status na publikováno 15. 2. 2020
0

Děkuji za odpověď. Přesměrování funguje podle mě jen pro domovskou stránku a taky jen občas (už to je divné, mazání cache mi přijde nemá vliv), ale zkuste si dát například adresu http://avason.cz/kategorie/kosmetika … přesměrovává na https://avason.cz/domains/avason.cz/kategorie/kosmetika. Řeším s Vašimi kolegy obecně také žalostnou rychlost stránek a jednou z možných příčin je právě přesměrování, které má být přes htaccess, aby doba provádění byla co nejmenší (viz https://help.wedos.cz/otazka/rychlost-stranek-2/14667/). Tohle je zcela zásadní a urgentní věc. Potřebuji proto s tímto poradit, kde je chyba. Když se podíváte na nynější htaccess, pak jsem přidal uvedené pravidlo pod řádek RewriteEngine on:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Role: Zákazník
JŠ255861 Změnil status na publikováno 15. 2. 2020
0
JŠ255861 53.67K - WEDOS Internet, a.s. 0 Comments

Dobrý den,

mě osobně Váš web přesměruje na https, nicméně můžete vyzkoušet také

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

nebo

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]
Role: Podpora Web: https://stackoverflow.com/ Vizitka: Roses are Red, Violets are Blue Unexpected '{' on line 32.
JŠ255861 Odpověděl na otázku 15. 2. 2020
0

Přesměrování stále nedělá, co má. Zkoušel jsem ještě využít pomoci pluginu Really Simple SSL, ovšem musel jsem od toho upustit z obavy o to, co celá akce může způsobit. Konkrétně plugin hlásí mj.:
The mixed content fixer could not be detected due to a cURL error: cURL error 28: Operation timed out after 5000 milliseconds with 0 bytes received. cURL errors are often caused by an outdated version of PHP or cURL and don’t affect the front-end of your site. Contact your hosting provider for a fix.
translator:
Oprava smíšeného obsahu nemohla být detekována kvůli chybě CURL: chyba CURL 28: Časový limit operace vypršel po 5 000 milisekundách s přijetím 0 bajtů. Chyby CURL jsou často způsobeny zastaralou verzí PHP nebo CURL a neovlivňují rozhraní front-end vašeho webu. Opravu kontaktujte svého poskytovatele hostingu.

Role: Zákazník
JŠ255861 Změnil status na publikováno 15. 2. 2020