Nginx:我可以在不同的 URL 上缓存与模式匹配的 URL 吗?

Nginx:我可以在不同的 URL 上缓存与模式匹配的 URL 吗?

我有一个网站,其中包含一些如下所示的 URL:,/prefix/ID其中/prefix是静态的并且ID是唯一的。使用 Nginx 作为反向代理,我想/ID仅在部分缓存这些页面,省略前缀。

我可以配置 Nginx 以便将原始 URL 的请求缓存在缩短的 URL 中吗?

我尝试了这个(我省略了一些不相关的部分)但显然这不是正确的解决方案:

http {
    map $request_uri $page_id {
        default $request_uri;
        ~^/prefix/(?<id>.+)$ $id;
    }

    location / {
        proxy_cache_key $page_id
    }
}

答案1

map $request_uri $page_id {
    default $request_uri;
    ~^/prefix(?<id>/.+)$ $id;
}

请注意前导/

相关内容