所以我使用语言检测/cookie方法来设置用户语言:
- 用户到达页面
- 检查用户是否设置了 cookie user_lang
- 如果设置,使用该语言
- 如果没有设置使用语言检测功能并设置cookie
语言切换:
用户转到 /change/language/[languageshortcode]
验证语言简码是否有效,删除/更改以前的 cookie 并使用新语言更新
加载页面
问题是我可以看到 user_lang cookie 确实已经从例如 EN 更改为 FR 但实际的语言切换只有在我手动刷新页面时才会发生。
在我的本地设置上,更改是立即的,在我的远程服务器上,我必须刷新。
认为我已经改变了我认为导致此的原因:
- 禁用所有形式的页面缓存
- 使用 htaccess 禁用 Varnish Cache 服务器端
- 实际上删除 cookie 并设置一个新的,而不是仅仅更改 cookie
有什么建议么?