View Issue Details

IDProjectCategoryView StatusLast Update
0006332OXID eShop (all versions)4.08. Cachepublic2016-02-17 16:19
Reporterkeywan.ghadami Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status acknowledgedResolutionopen 
Summary0006332: with varnish default configuration on ie font works only when navigating through inner links
Description
Hi Jens,

thank you for sharing that, I was currently working on the same issue so you saved my day!
Internet explorer has problem wen font file is not cache able,
the varnish configuration set explicit header to do no caching in the browser.
this makes the internet explorer to fail.
Additional InformationThats also an performance issue but it is a blocker because it makes the internet explorer to fail. see the following from the oxid dev mailing list:

I found this problem also described here with a good answer from Alexandr Skachkov
http://stackoverflow.com/questions/13415073/on-ie-css-font-face-works-only-when-navigating-through-inner-links

About the varnish configuration:
Adding that extensions and the query string to that regular expression is a good solution, we could also add the out folder. But using only the out folder would not capture all static files.

Best regards

Keywan


Von: [email protected] [mailto:[email protected]] Im Auftrag von Jens Trant
Gesendet: Dienstag, 16. Februar 2016 16:02
An: [email protected]
Betreff: [oxid-dev-general] Varnish default config, custom font not loading on IE

Hi everybody,

spent a little time to figure out why our custom corporate font was not loading in our OXID eShop on the Internet Explorer (from version 9 up to latest). IE needs an 'cache-control' Header without the 'no-cache' instruction, 'max-age=0‘ instead works fine.

The Varnish sub 'oxBeforeDeliver' prevents 'cache-control' headers to be set by Apache (or other web servers) for static font files. We had to change the following line in the vcl:

# Do not add Cache-Control header for static elements so browser could cache them
if (req.url !~ "\.(jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|css|js)$") {

TO:

# Do not add Cache-Control header for static elements so browser could cache them
if (req.url !~ "\.(jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg|css|js|ttf|ttc|otf|eot|woff|woff2|svg)(\?.*)?$") {

This adds file type support for eot, ttf, etc, otf, eot, woff, woff2, svg and also allows request parameters e.g. ?39jk0p#iefix
I think it would maybe a better solution to check here also against the /out/ directory which should include all static resources.


What do you think?


my two cents, best regards,
Jens

Twitter: jc_trant
TagsNo tags attached.
ThemeOther
BrowserInternet Explorer
PHP VersionNot defined
Database VersionNot defined

Activities

There are no notes attached to this issue.