Nenačítání odkazů v eshopu po migraci na jiný webhosting
Po nedobrovolné migraci webhostingu, protože dosavadní provozovatel Savana ukončil svou činnost a automatickém překlopení na nový hosting od Webglobe mi eshop přestal správně načítat stránky.
Pokud má odkaz v eshopu tvar "https://domena.eu/eshop/index.php/nazev-produktu", tak eshop načte automaticky vždy pouze úvodní stránku, jako by ta stránka pro něj neexistovala, což na původním webhostingu samozřejmě nedělalo a fungovalo vše zcela bez problému, čili standardně. Nicméně pokud dojdu na produkt přes menu v eshopu, tak se nyní záhadně zobrazí v adrese parametr "?uri=" a s tímto parametrem v adresním řádku prohlížeče to pak načítá stránky s produkty správně, čili "https://domena.eu/eshop/index.php?uri=/nazev-produktu".
Nechápu, proč tomu tak je a proč to přidává parametr "?uri=" do adresy, aby ty stránky eshop načítal a neházel to zpátky na úvodní stránku eshopu. Automatický přenos na nový hosting dělal nový provozovatel Webglobe, který předešlý webhosting pohltil a tím začal tento problém. Jejich technická podpora absolutně nereaguje a netuším, kde hledat problém. Jejich administrace webhostingu je doslova zoufalost s minimem nastavení a příšernou dobou odezvy pro načítání operací, prostě strašný. Původně jsem si myslel, že to snad dělá přesměrovávání z http na https, ale pokud jsem toto deaktivoval problém nadále přetrvává, takže tím to není. Netuší někdo na co se tady zaměřit?
Zvažuji po novém roce kvůli téhle nepodpoře na Webglobe a příšerné administraci i změnu provozovatele webhostingu, kde bude fungovat podpora helpdesku, zvládne externí přístup k php databázím a alias, což jsem zjistil, že ani dnes není u provozovatelů webhostingu žádným pravidlem. Máte někdo nějaký tip na dobrý hosting za rozumnou cenu? Wedos bych vynechal, protože z dřívější doby mám zkušenosti, že umí akorát dobře posílat odkazy na jejich znalostní databázi, i když to problém neřeší.
Překopíroval jsi na nový hosting soubor .htaccess?
https://www.webglobe.cz/poradna/co-je-redirect-htaccess
Ahoj hoste, jasan, to bylo první, co jsem kontroloval a také jeho obsah, čili nic v něm nechybí, vůči původnímu na předešlém hostingu. Jinak já nic kopírovat ani nemusel, vše dělal Webglobe sám v nějakém automatickém režimu a dostal jsem pouze info o zahájení a ukončení přenosu na nový hosting.
Zkontroluj ten htaccess. Mel by obsahovat pravidla pro presmerovani adres. Treba tam zustalo neco puvodniho spatne.
To, ze probehne nejaky automaticky prevod neznamena, ze vse probehne korektne
Raději to ještě upřesním. Adresář s eshopem obsahuje ještě od dob jeho instalace soubor ht.htaccess, který jsem nikdy nepotřeboval upravovat, čili je původní, viz:
Pak, když jsem před časem potřeboval přejít na free SSL certifikát, čili na https, tak jsem musel podle tohoto návodu https://www.savana.cz/napoveda/domeny-a-subdomeny/smerovani-domeny/presmerovani-domeny-na-https pouze vytvořit nový soubor .htaccess, viz:
a ten vložit do kořenového adresáře domény, kde mám eshop, protože tam mám ještě i webovky. Vše fungovalo perfektně a nyní na Webglobe už ne, takže netuším, jaký parametr upravit, aby to chodilo, pokud je to tím souborem .htaccess.
Máš zakomentované tohle:
Sice mi to dnes už moc nemyslí, ale mělo by to být to pravidlo, které ti odstraňuje z parametrů právě to ?uri
edit: jak vypadal původní .htaccess? Ono bez znalosti konkrétních (a původních) nastavení se dá jen hádat.
Co jsem sem dával ten delší kód ze souboru ht.htaccess, který je přímo v kořenovém adresáři eshopu a vytvořil se automaticky při instalaci eshopu, tak v něm je vše původní, čili bez jakýchkoliv změn. Mám totiž i zálohy a pokud jej porovnám, tak žádné změny v něm po migraci na nový hosting nejsou.
Nicméně, pokud v něm odkomentuji, co jsi uvedl, tak se mi ani nenačte eshop, ale pouze webovky, které jsou v kořenovém adresáři.
https://craftgen.eu/eshop/ht.htaccess
200 OK
https://craftgen.eu/eshop/.htaccess
403 Forbidden
A ještě poznámka: nginx
U druhého odkazu bude .htaccess určitě 403 forbiden, když je kvůli webovkám o úroveň výše, čili v kořenovém adresáři domény. Nicméně teď koukám, že to hází stejnou chybu, i když je odkaz o úroveň výše, ale přitom přesměrovávání všech domén na https s ním funguje a bez něj nikoliv. To mě hlava nebere. Co to je ten nginx?
nginx je webový server.
Původně ti to jelo na apache a teď ti to jede na nginx, u kterého je ta konfigurace pravděpodobně jiná.
A ten "Super QC 1.4.2; (c) 2010-2011 Netkick s.r.o." myslíš, že je to dobrý nápad?
Aha, to mě nenapadlo, že to bude problém. Takže to bude chtít zřejmě úpravu souboru .htaccess, který stále hází chybu 403 a má sloužit primárně pro přesměrování z http na https. Nebo je to hlubší problém a ten eshop na tom nginx prostě nepojede korektně a budu muset najít hosting, který běží na apache?
Já nginx nepoužívám tak nevím jak se tam nastavuje přesměrování, ten soubor se klidně může jmenovat jinak nebo klidně i jak máš ten název s ht, to musíš vědět ty, ty to máš pod rukama. A na netu jsou na to online převodníky, které ten text z apache dovedou převést na nginx. Nebo se koukni na dokumentaci nginx.
Každopádně díky za nasměrování onoho problému, protože tahle varianta by mě fakt nenapadla.
Ještě jedna věc, on ten nginx může mít něco, co ten htaccess umí zpracovat, ale může mít v něčem jiné chování než apache. Ty jsi správcem toho webu a máš to všechno pod rukama i můžeš zjistit nastavení serveru, tak na řešení musíš dojít ty
Zkusím si s tím ještě pohrát, protože aspoň konečně vím, kde je ten problém. Nicméně, stejně chci změnit webhosting z důvodu nespokojenosti s přístupem mrtvého brouka helpdesku na Webglobe, tak se budu dívat po něčem, co jede na apache a ne nginx, protože ten je pro mě novinka.
nginx má TOTÁLNĚ jiné chování než apache. Zatím co Apache jede "adresářově" a má něco jako dědičnost, tak u nginxu funguješ na principu definice struktury webu na základě nějakých regulárních výrazů, kterým odpovídá nějaká část webu. Není tam nic jako vyvolávání MPM (např. pro PHP), ale používá "jen" CGI.
edit: tady je takové povšechné srovnání: https://www.hostinger.com/tutorials/nginx-vs-apache-what-to-use/
Vygoogli si: nginx rewrite url rules
Díky, mrknu na to.
v první řadě nginx je úplně jiné zvíře než apache2. Defaultně (bez pluginu) nic jako htaccess vůbec nezná. Jseš si jistý, že se nginx nepoužívá jen jako reverzní proxy?
edit: tak asi jo: https://www.webglobe.cz/poradna/co-je-nginx
Já ani nevěděl, co to nginx je Každopádně žádná úprava souboru .htaccess problém neřeší (vyzkoušeno). Dnes se mi po třech dnech emailem ozvala nějaká operátorka a sdělila mi to, co už jsem věděl před napsáním tohoto dotazu. Nebýt člena kacikac, tak ani nevím, že to jede na tom nginx. Z jejich "simple" administrace pro BFU nejsem schopen ani zjistit na jakou databázi tu původní naroubovali, což by také mohl být problém, protože mě to jelo na Savana ještě na starší MySQL dump 10.13, Server version 5.6. a dnes většina webhostingů frčí už pouze na Maria, tak netuším, jestli to nějak nenaroubovali do její nejnovější verze a pak to může dělat tyhle psí kusy. Mám v úmyslu to hodit na webhosting Wedosu a prubnout na jejich testovací doméně, kterou nabízejí zdarma. Ti jedou na Apache a nemají údajně problém s podporou starších MySQL databází a je tam velmi podrobná a přehledná administrace a aspoň rychle přes email komunikují, takže základní info mám od nich poměrně rychle. Jinak ten problém přetrvává, i když zcela deaktivuji převod z http na https (nemá na to vůbec žádný vliv), tak to tipuji spíše na nějakou nekompatibilitu v komunikaci mezi tím nginx a onou starší databází naroubovanou při jejich migraci na kdo ví, co. U Webglobe absolutně nemá smysl s jejich neschopností a nezájmem tohle řešit a balím to tam. Ten týden od dokončené nucené migrace mi tam fakt stačil, abych si udělal obrázek o jejich webhostingu a helpdesku.
Taky jsem nuceně u Webglobe - původně jsem byl u Onebit, než je pohltili a tam byla zákaznická podpora na vysoké úrovni.
Onebit dopadl úplně stejně jako nyní Savana, kde byla také perfektní a znalá podpora, než je pohltil Webglobe. Jo, pokud ti všechno u Webglobe frčí a nepotřebuješ nic řešit, tak nemáš moc důvod to migrovat jinde. Sondoval jsem webhostingy a některé mě doslova pobavili, jako třeba v recenzích vychvalovaný vas-hosting, který neumí ani externí přístup k databázím uživatelem a dokonce ani alias. Nakonec budu muset jít k Wedosu, který jsem před několika lety zkoušel, protože ten jediný je stále dosti plastický a nejede čistě módní vlnu Wordpressu a má i solidní ceny za hostování, i když podpora je spíše o zasílání odkazů na jejich znalostní databázi, ale musím uznat, že je tam pokrok a mají to už velmi podrobné a propracované, takže bych to tam mohl i odladit. Dokonce mají už i klikací menu v administraci pro jednoduchou migraci z jiného webhostingu a to jak souborů, tak databází.
nginx je super věc, ale já ho používám typicky jako reverzní proxy k jiným webovým službám (např. jako one-to-multi řešení pro kamerové systémy, popř. jako "filtr" a akcelerátor)
Jeho konfigurace je trochu krkolomná, spíše "programátorská", zato vysoce efektivní a umí věci, u kterých je apache za pomalého blbečka. Na druhou stranu Apache toho umí víc a z pohledu konfigurace elegantněji.
Podle mě bys měl začít číst logy, tam bude všechno zaznamenáno a v podstatě i vysvětleno.
Třeba podle tohoto:
https://www.webglobe.cz/poradna/srovnani-webhostingu
https://www.webglobe.cz/webhosting/sdileny
bych řekl, že Webglobe webhosting může jet na Apache, Nginx nebo OpenLiteSpeed webovém serveru.
Popisují v poradně všechny tři a i tam mají co je na co lepší.
https://www.webglobe.cz/poradna/co-je-apache
https://www.webglobe.cz/poradna/co-je-nginx
https://www.webglobe.cz/poradna/co-je-openlitespeed
Jako teoreticky to může mít i s reverzní proxy na nginx.
Informace má, jako ono to zas takový problém přece být nemůže zjistit jakou technickou konfiguraci má ten jeho webhosting, jestli mu to jede na nginx nebo apache a jak pořešit funkcionalitu co mu prováděl htaccess.
Jako jestli plave tady v tom tak být jím tak si najdu jiný koníček než se starat o webovky