【发布时间】:2015-05-15 03:05:15
【问题描述】:
我是 nginx 的新手,并且一直在玩弄(并尽可能多地阅读)有关设置 fastcgi 缓存键的信息。
理想情况下,我希望缓存键值是整个 URL(包括查询字符串),但以 utm_ 或 cb 开头的任何查询字符串参数除外。
我了解到我可以使用$host$request_uri 将缓存键设置为等于带有所有查询字符串的整个 URL,或者使用$host$uri 来设置没有查询字符串。但是,我不知道如何整合条件逻辑。
理想情况下,所有这些 URL 都会以相同的缓存键结束:
http://example.com/?p=1&cb=8827387
http://example.com/?p=1&cb=873644
http://example.com/?p=1&utm_source=287333
任何帮助(尤其是在正则表达式领域)将不胜感激。
【问题讨论】:
-
所以你想默认捕获整个 URL,但是如果 URL 包含参数
utm_或cb你想忽略整个 URL? -
嘿纳德 - 感谢您的回复。几乎。我希望缓存键是整个 URL(包括查询字符串),除了那些以 utm_ 或 cb 开头的查询字符串。因此,简而言之,在我上面的示例中缓存键都是相同的example.com/?p=1。我仍然希望它命中缓存,只需忽略 cb 和 utm_ 查询字符串。