我在几个主页布局上运行拆分A-B测试。有一个观察者设置会话变量(组A或组B),然后布局根据该变量而变化。
问题是该页面正在缓存(在Magento整页缓存中),无论用户在哪个组,他们都会看到A页面或B页面。
我可以修改Magento以便每个版本的主页单独缓存吗?或者我可以完全在主页上禁用缓存吗?或者有更好的方法来进行这种测试吗?
答案 0 :(得分:0)
这不是直接适用的,但我必须根据页面所在页面的不同而缓存页脚,最后编辑Mage/Page/Block/Html/Footer.php
文件并通过添加部分getCacheKey()
来更改{{1}}函数返回变量的url。你可以不附加会话变量吗?
我知道你不像我一样看着页脚,但它似乎可能会指向你一个有用的方向。
答案 1 :(得分:0)
您可以使用符合HTTP 1.1的标头来更改特定页面的缓存行为。
请参阅:http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13.2.6
您需要的标头是Cache-Control: no-cache
。
您需要将该标头与文档一起发送出去。使用php,您可以使用header函数指定标题。
header("Cache-Control: no-cache");