2011-11-13 49 views
1

我有一个使用zend静态缓存的网站,它的效果很好。但是,该网站还使用TERAWURFL库来检测移动设备并显示精简版网站。现在的问题是,因为缓存是为普通站点创建的,所以这也会输出到移动设备。Zend静态缓存 - 不同的网站外观/设计

我的想法是使用htaccess设备检测来检测移动设备并正确处理请求。然后在我的引导程序中,我还会检查移动设备并更改缓存路径。

我的问题是,我不认为有这样做的好方法。例如,删除缓存条目需要在两个缓存中完成,但当前的实现不会这样做。

有没有人在不同的布局/设计上实现这种缓存的经验?我想这也适用于内容将不得不改变的语言。

+0

您从Zend使用哪个缓存类? –

+0

后端:静态。前端:页面。 – Ashley

+0

好吧,我从来没有使用过Zend的静态缓存机制,因为我仍然主要运行一个甚至没有这个类的(稍微)旧版本的框架。如果你打算去.htaccess路线,那么这将是棘手的。抱歉。不过,我会继续阅读和寻找解决方案。祝你好运! –

回答

0

当WURFL检测到用户在移动设备上时,将其设置为cookie。然后使用Zend_Frontend_Page的

make_id_with_cookie_variables 

选项(如下规定:http://framework.zend.com/manual/en/zend.cache.frontends.html#zend.cache.frontends.page)。

这样,它会生成页面缓存因此不冲突的两个版本(普通/ WURFL-ED)

编辑一个新的ID:一些移动设备可能不支持cookie虽然。不知道。你可以尝试一下。

+0

Static后端使用htaccess为整个页面的缓存版本提供服务,无需PHP交互,因此这不可行。谢谢 – Ashley

+0

你是对的。所以我想你应该添加一些像SetEnvIf User-Agent“identifier”mobile_device然后检查。但是,如果不是绝对必要的,你可以尝试使用APC或memcached代替静态。 (可能会更好) – mobius