ynamite / massif_minify

Komprimierung- und Kompilierungs-Addon für Redaxo 5
Other
7 stars 2 forks source link

Problem mit getJSFile bzw. getFileWithVersionParam #9

Closed fietstouring closed 4 years ago

fietstouring commented 5 years ago

Ich habe von bower auf npm gewechselt um JS-libraries in meine Projekte einzubauen. Jetzt taucht plötzlich das Problem auf, dass ich einen 404 Error bekomme, wenn ich files aus dem npm Ordner mit massif_minify::getJSFile($file) hole. Die files haben interessanterweise eine filetime von 1985 also zB /theme/public/resources/js/npm/node_modules/jquery/dist/jquery.499162500.js

Speichere ich das file neu ab, dann gehts problemlos. Woran könnte das liegen?

fietstouring commented 5 years ago

RewriteRule ^(.*)\.\d{10}\.(css|js)$ $1.$2 [L]

klar, das hier muss 10-stellig sein, 499162500 ist aber nur 9-stellig

fietstouring commented 5 years ago

so kann das funktionieren RewriteRule ^(.*)\.\d{9,}\.(css|js)$ $1.$2 [L]

ynamite commented 5 years ago

so kann das funktionieren RewriteRule ^(.*)\.\d{9,}\.(css|js)$ $1.$2 [L]

@fietstouring Das kann aber nicht die Lösung sein, grundsätzlich funktionierte das Ganze ja bisher.

'filemtime' gibt ein unix timestamp zurück der, sofern ein Datum zwischen 1966 und November 2286 liegt, einen 10 stelligen Wert zurück. Quelle: https://stackoverflow.com/a/4415694/1051915

Ich vermute das Problem liegt am Server?

fietstouring commented 5 years ago

der timestamp 499162500 ist Saturday, October 26, 1985 8:15:00am und anscheinend werden alle npm packages mit dieser ausgeliefert. und das ist 9-stellig. https://www.silisoftware.com/tools/date.php?inputdate=499162500&inputformat=unix

ynamite commented 5 years ago

Interessant ... das ist das exakte Datum aus Back to the Future 🤪

Hilft das evtl.? https://github.com/npm/npm/issues/20439#issuecomment-385121133

fietstouring commented 5 years ago

back

ynamite commented 5 years ago

Könntest du mal folgende Rewriterule testen? 'RewriteRule ^(.).([0-9]).(min.js|js|css)$ $1.$3 [L]'

fietstouring commented 5 years ago

habs so in nginx erfolgreich getestet rewrite "^(.).([0-9]).(min.js|js|css)$" /$1.$3 last

ynamite commented 5 years ago

Super, danke dir!

fietstouring commented 5 years ago

Sorry, die config war wohl nicht eingelesen beim Testen, funktioniert doch nicht...

ynamite commented 5 years ago

Easy, ich schau bei Gelegenheit nochmal drauf, bin allerdings mit htaccess rewriterules nicht so fit

fietstouring commented 5 years ago

RewriteRule ^(.*)\.[0-9]+\.(css|js)$ $1.$2 [L] für Apache oder rewrite "^/(.*)\.[0-9]+\.(css|js)$" /$1.$2 last; für nginx

sollte klappen

ynamite commented 4 years ago

Hab's (endlich) mal so übernommen. Falls es Probleme gibt, einfach neues Issue aufmachen.