【问题标题】:Nginx/fastcgi custom cache keyNginx/fastcgi 自定义缓存键
【发布时间】: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_ 查询字符串。

标签: regex caching nginx


【解决方案1】:

这些信息可能会对您有所帮助:

http://www.alexjs.eu/making-nginx-ignore-query-string-parameters/

【讨论】:

  • 感谢您的帮助。在最初发布问题之前,我花了很多时间查看那篇文章,但我可以让它发挥作用。不过,我是一个正则表达式新手,所以我真的觉得自己不太适应。
  • 链接失效了,这里是archive.org的最新链接:web.archive.org/web/20160123050205/http://www.alexjs.eu/…
猜你喜欢
  • 2021-01-30
  • 2016-02-21
  • 2013-01-17
  • 2016-06-30
  • 1970-01-01
  • 2017-08-31
  • 2011-06-14
  • 2012-08-25
  • 2016-12-06
相关资源
最近更新 更多