通过不同的查询字符串 Nginx 分隔相同 URI 的位置块

通过不同的查询字符串 Nginx 分隔相同 URI 的位置块

这些是我的 URI

/posts.php?action=get_single_posts
/posts.php?action=search

/posts.php?action=get_all_posts

我需要 Nginx 中为这些 URI 设置 2 个独立的 location 块,因为我想缓存第一个而不缓存第二个。我该怎么做?

额外的: 还有关于“获取所有帖子“请求。用户将获取此 URL。每个用户在其标头中都有唯一的“user_id”。此外,每个用户都应该能够根据其 user_id 获取数据(仅当此 user_id 是帖子所有者时才获取帖子)。示例:

User by user_id 10   should get posts A,B
User by user_id 11   should get posts C,D

如果我将它们传递给上游,他们将根据其 user_id 获得不同的数据,并且是正确的。我想根据请求的 headers['user_id'] 字段单独缓存他们的响应“/posts.php?action=get_all_posts”。如果我将此请求缓存到全局,则每个用户都会获得相同的数据,而这在本例中是不正确的。我该怎么做?

相关内容