gpt4 book ai didi

apache - Apache mod_cache:根据cookie值改变缓存

转载 作者:行者123 更新时间:2023-12-02 04:10:45 24 4
gpt4 key购买 nike

当前,我正在使用mod_cache来缓存Web应用程序的页面详细信息。

我有基于User-Agent和Accept-Language的缓存Vary,因为在这些情况下有不同的有效负载。

Vary: User-Agent, Accept-Language

我们计划在每个页面上都有特定于区域的信息,但这是我们试图确定我们的缓存策略的地方。

我们有一个cookie,该cookie会持续显示我们所定位的区域,但是显然,缓存不会因该cookie而变化。

一般而言,某些Cookie或 header 是否可以根据 进行更改? (请注意,我说的是某些Cookie,因为我们不希望 session 标识符与此发生冲突)-类似于正则表达式与此匹配:
location=(.+?);

最佳答案

使用Apache可以实现。它可以解析cookie值并将其传递给自定义 header ,然后您需要通过以下 header 来更改:

# Set languageC cookie value to environment variable "siteLanguage"
RewriteCond %{HTTP_COOKIE} ^.*lunetics_locale.*$ [NC]
RewriteCond %{HTTP_COOKIE} (?:^|;\s*)lunetics_locale=([^;]*) [NC]
RewriteRule ^(.*)$ - [env=siteLanguage:%1]

# If no languageC cookie present. Set "siteLanguage" environment variable to "en"
RewriteCond %{HTTP_COOKIE} !^.*lunetics_locale.*$ [NC]
RewriteRule ^(.*)$ - [env=siteLanguage:en]

# Set enviroment variable "siteLanguage" value to custom header "SiteLanguage"
RequestHeader set X-Language "%{siteLanguage}e" env=siteLanguage

并将 Vary X-Language添加到您的响应标题中。
我不确定这是否是最好的方法,对此我有相关的疑问和问题: Is it possible to vary page caches (to have cache versions) with the same url and different cookie value (language)?

关于apache - Apache mod_cache:根据cookie值改变缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5319060/

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