Php 使用cookie进行语言切换,但仅在手动页面刷新后可见
因此,我使用语言检测/cookie方法设置用户语言:Php 使用cookie进行语言切换,但仅在手动页面刷新后可见,php,codeigniter,cookies,codeigniter-2,multilingual,Php,Codeigniter,Cookies,Codeigniter 2,Multilingual,因此,我使用语言检测/cookie方法设置用户语言: 用户到达页面 检查用户是否有cookie用户\语言集 如果设置了,请使用该语言 如果未设置,则使用语言检测功能并设置cookie 语言开关: 用户转到/change/language/[languageshortcode] 验证语言快捷码是否有效,删除/更改以前的cookie并使用新语言更新 加载页 问题是,我可以看到用户_lang cookie确实已从EN更改为FR,但实际的语言切换只有在我手动刷新页面时才会发生 在我的本地设置上,更改是立
- 已禁用所有形式的页面缓存
- 使用htaccess禁用Varnish缓存服务器端
- 实际上,删除cookie并设置一个新的cookie,而不仅仅是更改cookie
有什么建议吗?因为没有发布任何代码,我只想提供一些想法。一种解决方案是添加JS页面重新加载,但前提是某些条件为真。但是,更好的解决方案是确保如果用户更改了语言,不要读取cookie来检测该页面加载的语言(因为在脚本完成之前它不会完全设置)。如果用户进行了更改,请使用用于设置cookie的值并忽略cookie,如果未进行任何更改,只需检测cookie即可。这有意义吗?奇怪的是,它在我的本地机器上工作得非常好。这解决了问题吗?如果不发布一些代码,将允许更多的帮助。