Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem 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ředmět Autor Datum
Překopíroval jsi na nový hosting soubor .htaccess? https://www.webglobe.cz/poradna/co-je-redirect-h…
host 17.12.2024 20:07
host
Ahoj hoste, jasan, to bylo první, co jsem kontroloval a také jeho obsah, čili nic v něm nechybí, vůč…
Craft 17.12.2024 20:10
Craft
Zkontroluj ten htaccess. Mel by obsahovat pravidla pro presmerovani adres. Treba tam zustalo neco pu…
Jan Fiala 17.12.2024 20:16
Jan Fiala
Raději to ještě upřesním. Adresář s eshopem obsahuje ještě od dob jeho instalace soubor ht.htaccess,…
Craft 17.12.2024 20:33
Craft
Máš zakomentované tohle: #RewriteCond %{QUERY_STRING} ^(uri=/?)?(.*) #RewriteRule .* http://%{HTTP_…
touchwood 17.12.2024 20:44
touchwood
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…
Craft 17.12.2024 21:21
Craft
https://craftgen.eu/eshop/ht.htaccess 200 OK https://craftgen.eu/eshop/.htaccess 403 Forbidden A j…
kacikac 17.12.2024 21:54
kacikac
U druhého odkazu bude .htaccess určitě 403 forbiden, když je kvůli webovkám o úroveň výše, čili v ko…
Craft 17.12.2024 22:32
Craft
nginx je webový server. Původně ti to jelo na apache a teď ti to jede na nginx, u kterého je ta konf…
kacikac 17.12.2024 22:34
kacikac
Aha, to mě nenapadlo, že to bude problém. Takže to bude chtít zřejmě úpravu souboru .htaccess, který…
Craft 17.12.2024 22:45
Craft
Já nginx nepoužívám tak nevím jak se tam nastavuje přesměrování, ten soubor se klidně může jmenovat…
kacikac 17.12.2024 22:48
kacikac
Každopádně díky za nasměrování onoho problému, protože tahle varianta by mě fakt nenapadla.
Craft 17.12.2024 22:54
Craft
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…
kacikac 17.12.2024 22:58
kacikac
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…
Craft 17.12.2024 23:13
Craft
nginx má TOTÁLNĚ jiné chování než apache. Zatím co Apache jede "adresářově" a má něco jako dědičnost…
touchwood 18.12.2024 19:58
touchwood
Vygoogli si: nginx rewrite url rules
pme 17.12.2024 23:02
pme
Díky, mrknu na to.
Craft 17.12.2024 23:15
Craft
v první řadě nginx je úplně jiné zvíře než apache2. Defaultně (bez pluginu) nic jako htaccess vůbec…
touchwood 18.12.2024 17:34
touchwood
Já ani nevěděl, co to nginx je :-) Každopádně žádná úprava souboru .htaccess problém neřeší (vyzkouš…
Craft 18.12.2024 18:29
Craft
Taky jsem nuceně u Webglobe - původně jsem byl u Onebit, než je pohltili a tam byla zákaznická podpo…
host 18.12.2024 18:45
host
Onebit dopadl úplně stejně jako nyní Savana, kde byla také perfektní a znalá podpora, než je pohltil…
Craft 18.12.2024 19:10
Craft
nginx je super věc, ale já ho používám typicky jako reverzní proxy k jiným webovým službám (např. ja…
touchwood 18.12.2024 19:52
touchwood
Třeba podle tohoto: https://www.webglobe.cz/poradna/srovnani-webhostingu https://www.webglobe.cz/web… poslední
kacikac 18.12.2024 20:09
kacikac

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.

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:

## Disable folder listing
#Options -Indexes

#AddType text/x-component .htc

RewriteEngine On

## Installation directory
#RewriteBase /

<Files data.sqlite.php>
  order allow,deny
  deny from all
</Files>

## Force www. prefix
#RewriteCond %{HTTP_HOST} !^www. [NC]
#RewriteRule ^.*$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

## Redirect /index.php
#RewriteCond %{THE_REQUEST} ^.*/index.php 
#RewriteCond %{QUERY_STRING} ^(uri=/?)?(.*)
#RewriteRule .* http://%{HTTP_HOST}/%2? [R=301,L] 

## Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{QUERY_STRING} .*
RewriteRule .* index.php?uri=htaccess/$0&%0 [L]

RewriteCond %{QUERY_STRING} .*
RewriteRule ^$ index.php?uri=htaccess/&%0 [L]

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:

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

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:

#RewriteCond %{QUERY_STRING} ^(uri=/?)?(.*)
#RewriteRule .* http://%{HTTP_HOST}/%2? [R=301,L] 

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.

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?

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.

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/

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.

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 :-)

Zpět do poradny Odpovědět na původní otázku Nahoru