gpt4 book ai didi

Magento + Nginx 缓存 + 货币选择器

转载 作者:行者123 更新时间:2023-12-03 22:07:06 26 4
gpt4 key购买 nike

我有一个 Magento 站点 http://www.burdastyle.co.uk/我正在处理,但在更改货币时出现问题。货币选择器应该添加一个带有“货币”键和所选货币值的cookie,例如“美元”、“澳元”等。

该站点由 nginx 运行,并且它也使用 nginx 缓存。我知道这是缓存导致它无法作为缓存块的 nginx conf 的一部分工作的原因是:

fastcgi_hide_header "Set-Cookie";

如果我删除该行,货币选择器会按预期工作,但是如果我在我的购物车中添加一个项目,并且其他人查看他们的购物车,它会显示我刚刚添加的项目,因为它没有该行,所有 cookie 值缓存并提供给所有最终用户。

完整的 nginx 缓存块是:
location @fcgi_cache {
fastcgi_pass phpfpm;
#fastcgi_cache mage;
fastcgi_cache mage_bs;
fastcgi_cache_key "$mobile_request|$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri|$cookie_currency";

fastcgi_hide_header "Set-Cookie";

if ($http_cookie !~ "X-Store=1" ) {
add_header Set-Cookie "X-Store=1; path=/";
}

fastcgi_ignore_headers "Cache-Control" "Expires" "Set-Cookie";
fastcgi_cache_min_uses 1;
fastcgi_cache_valid 200 202 8h;
fastcgi_cache_use_stale updating error timeout invalid_header http_500;
fastcgi_cache_bypass $cookie_EXTERNAL_NO_CACHE $cookie_CUSTOMER_AUTH;
fastcgi_no_cache $cookie_EXTERNAL_NO_CACHE $cookie_CUSTOMER_AUTH;
}

我尝试添加“add_header Set-Cookie”currency=${cookie_currency}; path=/"; 但似乎在 fastcgi_hide_header 行之后, $cookie_currency 变量被清除了,所以这也不起作用。

任何帮助,将不胜感激。先谢谢了。

最佳答案

我建议您使用 LiveHTTPHeaders 测试应用程序并解决问题。

另一方面,记住在设置cookie时添加域。否则浏览器不会发送cookie。这是一个示例语法:

# I set the expiricy for 24 hours
add_header Set-Cookie "currency=${cookie_currency};Domain=www.burdastyle.co.uk;Path=/;Max-Age=86400";

你好,

关于Magento + Nginx 缓存 + 货币选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19172324/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com