Auf manchen Servern liefert diese super Extension leider einen 404 ab einer bestimmten Anzahl von JS oder CSS Files, aber..

Magento Extension: Fooman Speedster

Das Fooman Speedster Magento Modul erlaubt das zusammenführen und komprimieren von CSS aber auch Javascript Dateien. Somit werden jegliche Anfragen zum Server und die Ladezeit des Magento Shops stark optimiert.

Fooman Speedster Problem-Beschreibung

Nach erfolgreicher Installation dieser Magento Extension sieht die Shop Seite schlimm aus. Auch das Design ist nur partiell vorhanden und auch das Magento Backend läuft nicht richtig.

Fooman Speedster Problem-Erläuterung

Im Sourcecode Ihrer Magento Seite sollten Sie Source-Code Zeilen wie diese finden.

<link type="text/css" rel="stylesheet" href="https://.../skin/m/1234567890/js/prototype/prototype.js,/js/mage/adminhtml/events.js,/js/mage/adminhtml/loader.js,/js/mage/adminhtml/grid.js,/js/mage/adminhtml/tabs.js,/js/mage/adminhtml/form.js,/js/mage/adminhtml/accordion.js,/js/mage/adminhtml/tools.js,/js/mage/adminhtml/uploader.js,/js/mage/adminhtml/product.js,/js/calendar/calendar.js,/js/calendar/calendar-setup.js,/js/extjs/ext-tree.js,/js/extjs/fix-defer.js,/js/extjs/ext-tree-checkbox.js,/js/mage/adminhtml/wysiwyg/tiny_mce/setup.js,/js/mage/adminhtml/variables.js,/js/mage/adminhtml/wysiwyg/widget.js,/js/lib/flex.js,/js/lib/FABridge.js,/js/mage/adminhtml/flexuploader.js,/js/mage/adminhtml/browser.js..." media="all">

Die Formatierung ist bei den Magento CSS Files identisch und verursachen auch dort den gleichen Fehler. Es wird ein Rewrite über das Verzeichnis /skin/m/ angestoßen. In der Datei /skin/m/.htaccess befindet sich die folgende Zeile

RewriteRule ^([^/]+)(/.*.(js|css))$ ../../lib/minify/m.php?f=$2&d=$1

Diese Zeile übergibt der m.php separiert zwei Parameter für weitere Verarbeitung der Datein-Erkennung. Genau hier jedoch kommt es zum Problem! Bei einer Länge ab 257 Zeichen (Character) verursacht diese Regel eine 404 File not Found Fehler.

Bugfixing Fooman Speedster

Daher muss diese wie folgt geändert werden.

RewriteRule ^([^/]+)(/.*)$ ../../lib/minify/m.php?f=$2&d=$1

Zusätzlich muss noch in der m.php eine Anpassung durchgeführt werden, da auch hier die Variable nicht den gesamten Parameter übernimmt.

# Line 59 OLD
$filenames = explode(",", $_GET['f'];
# Line 59 NEW
$_GET['f'] = substr($_SERVER['REQUEST_URI'],18,strlen($_SERVER['REQUEST_URI']));
$filenames = explode(",", $_GET['f']; 

Und schon läuft Ihr Magento Commerce Shop-System mit Fooman Speedster ohne 404 File not Found.

Autor

Thomas Zöger

Erstellt

12. Dezember 2014

Kategorien