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ší.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
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
nginx má TOTÁLNĚ jiné chování než apache. Zatím co Apache jede "adresářově" a má něco jako dědičnost… nový
touchwood 18.12.2024 19:58
touchwood
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
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.

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/

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