perusio / drupal-with-nginx

Running Drupal using nginx: an idiosyncratically crafted bleeding edge configuration.
854 stars 246 forks source link

micro cache issue when using same URL for both mobile and Desktop #193

Closed cromestant closed 9 years ago

cromestant commented 9 years ago

The key in microcache_fcgi.conf is fastcgi_cache_key $scheme$host$request_uri;

It is causing a problem when you use both a mobile site and web site on the same URL ( with device detection based on wurlf and mobile_tools randomly the mobile site gets shown on desktop (usually with a clean session). a device type id should be added to the key. ,maybe based on http://www.cyberciti.biz/faq/setting-up-nginx-to-redirect-mobile-users-to-subdomain/

perusio commented 9 years ago

Hallo,

Have you checked things like the accept header? It would be a possible candidate for adding to the cache key.

Alternatively check this and add the $is_desktop variable to the cache key: https://gist.github.com/perusio/1326701

----appa

On Mon, Nov 10, 2014 at 9:32 PM, cromestant notifications@github.com wrote:

The key in microcache_fcgi.conf is fastcgi_cache_key $scheme$host$request_uri;

It is causing a problem when you use both a mobile site and web site on the same URL ( with device detection based on wurlf and mobile_tools randomly the mobile site gets shown on desktop (usually with a clean session). a device type id should be added to the key. ,maybe based on http://www.cyberciti.biz/faq/setting-up-nginx-to-redirect-mobile-users-to-subdomain/

— Reply to this email directly or view it on GitHub https://github.com/perusio/drupal-with-nginx/issues/193.

cromestant commented 9 years ago

I get exactly the same Accept headers on chrome for mac , and Safari for iphone, therefore it would not be an issue. I'll test the other solution with $is_desktop and come back. Thank you for your prompt answer.

cromestant commented 9 years ago

This second solution seems to have fixed it. Maybe adding it as a default would help, more and more sites are relying on a single URL for all their views. This does not affect responsive design sites. thank you for your help