das Problem ist ziemlich merkwürdig, ich hoffe der Titel trifft es soweit.
Folgendes Problem: der Shop auf 5.5.6 wirft bei Aufruf einer fiktiven URL (zB https://www.shopdomain.de/test) eine Fehler-Seite:
Fatal error : Uncaught Enlight_Controller_Exception: Controller „test“ not found for request url https://www.shopdomain.de/test in /var/www/vhosts/[shophost]/httpdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php:507 Stack trace: #0 /var/www/vhosts/[shophost]/httpdocs/engine/Library/Enlight/Controller/Front.php(222): Enlight_Controller_Dispatcher_Default->dispatch(Object(Enlight_Controller_Request_RequestHttp), Object(Enlight_Controller_Response_ResponseHttp)) #1 /var/www/vhosts/[shophost]/httpdocs/engine/Shopware/Kernel.php(202): Enlight_Controller_Front->dispatch() #2 /var/www/vhosts/[shophost]/httpdocs/vendor/symfony/http-kernel/HttpCache/SubRequestHandler.php(102): Shopware\Kernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true) #3 /var/www/vhosts/[shophost]/httpdocs/vendor/symfony/http-kernel/HttpCache/HttpCache.php(448): Symfony\Component\HttpKernel\HttpCache\SubRequestHandler::handle(Obje in /var/www/vhosts/[shophost]/httpdocs/engine/Library/Enlight/Controller/Dispatcher/Default.php on line 507
Diese wird per HTTP 200 ausgegeben, daher greift wohl auch die in Shopware eingestellt SEO-Einstellung bei einer 404 eine Einkaufswelt anzuzeigen nicht. In der config.php stehen keine dev-Werte, in der htaccess ebenso nicht. Die EInkaufswelt lässt sich per shopdomain.de/seite-nicht-angegeben aufrufen.
Auf der Staging hingegen funktioniert alles. Da wird ein fiktiver Link auch mit einem HTTP-Code 404 ausgegeben und die entsprechende Einkaufswelt angezeigt. Die SEO-/Router-Einstellungen zur Live-Umgebung entsprechen der Staging-Umgebung. Die htaccess der Staging gleicht der Live, besitzt zusätzlich aber noch einen htpasswd-Abschnitt.
Habt ihr noch Ideen was ich ausprobieren könnte? Danke im Voraus.
Ich kürze nochmal: bei einem Aufruf einer fiktiven URL wird ein Fehlermeldung ausgespielt, die jedoch nicht von Shopware abgefangen werden kann, da sie als HTTP-Code 200 ausgegeben wird. Auf der Staging funktioniert alles tadellos, es wurde erst vor drei Monaten die Live mit der Staging geupdatet.
Die Shopware-Einstellungen im Router sind mit der Staging identisch, die htaccess-Datei ist auch bis auf die htpasswd-Stelle identisch.
Die Server-Logs geben keine Rückschlüsse auf das Verhalten. Habt ihr noch weitere Ideen, dem Prblem auf den Grund zu gehen? (andere Shops haben dasselbe Problem, es scheint als nicht selten zu sein)
Du hast in der config.php das erweiterte Debugging aktiviert, damit hebelst du die 404 Funktion aus und der Fehler „Controller Not found“ wird ausgegeben. Das ist erstmal normal. Am besten das Zeug mal aus der config.php rausnehmen.
Du hast in der config.php das erweiterte Debugging aktiviert, damit hebelst du die 404 Funktion aus und der Fehler „Controller Not found“ wird ausgegeben. Das ist erstmal normal. Am besten das Zeug mal aus der config.php rausnehmen.
Danke Moritz. Jedoch sind in der config.php keinerlei Debugging-Parameter gesetzt (siehe EP). Hast du noch weitere Anspielstationen?
Dann kopiere mal die engine/Shopware/config/default.php aus dem Installationspaket deiner Version auf den Server. Vielleicht hat jemand die defaults verstellt.