我需要将数据从$_SESSION
PHP 文件发送到 .htaccess 以设置 Vary 变量以设置 LiteSpeed 缓存。
PHP 脚本示例:
<?php $lang = $_SESSION['lang'];?>
.htaccess 示例
...
<IfModule LiteSpeed>
CacheLookup public on
CacheLookup private on
RewriteRule .* - [E=cache-control:max-age=604800]
RewriteRule .* - [E=cache-control:vary=**!!!HERE I NEED TO HAVE $lang value!!!**]
</IfModule>
...
我已经尝试过这些方法:
"RewriteCond %{HTTP_COOKIE} (.*) [NC]"
。但我也将拥有无法在 cookie 中设置的私人数据。所以这个方法不是很好。(putenv("PROVARY=".$_SESSION['lang']);)
。但它不起作用。因为他们在请求结束时死亡。HTTP_SESSION
. 我找到了一个模块的这个名称,但没有找到有关它如何工作甚至如何使用它的信息。是否可以$_SESSION
直接从 .htaccess获取变量?如果是,请展示它如何工作的工作示例。
仅基于会话变量缓存页面从来都不是一个好主意 - 特别是如果内容仅根据会话中存储的语言而变化。连 LiteSpeed 都说,不要这样做
但是,您可以将语言另外存储在 cookie 中,并根据 cookie 值变化。
对于进一步的项目,我建议将语言存储在 uri ( example.com/en/...
, example.com/de/...
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句