从缓存中排除文件夹

时间:2018-07-03 07:50:43

标签: wordpress nginx plesk

在Plesk中的其他nginx指令下,我添加了以下缓存设置。

location ~* .(jpg|js|css)$ { #shortened
    etag on;
    if_modified_since exact;
    add_header Pragma "public";
    add_header Cache-Control "max-age=31536000, public";
}

但是在wp-admin中,我已经重写了这类文件的url。
如何从上面的块中排除wp-admin/*wp-includes/*

有点背景,我在一个子文件夹中运行了一个WordPress多站点。所以
maildomain.com/wp-admin/stylesheet.css实际上位于
maildomain.com/wp/wp-admin/stylesheet.css

1 个答案:

答案 0 :(得分:0)

您可以在缓存指令之前尝试使用location参数,例如:

location ^~ /wp-admin/ {
}

location ~* .(jpg|js|css)$ { #shortened
etag on;
if_modified_since exact;
add_header Pragma "public";
add_header Cache-Control "max-age=31536000, public";
}

UPD。是的,在我的测试实验室进行了检查,并收到403错误。我想空部分是不够的,应该明确添加一些指令。

设法添加以下排除项:

location ~* "^/(?!wp-admin/|wp-includes/).*\.(jpg|js|css)$" { #shortened
etag on;
if_modified_since exact;
add_header Pragma "public";
add_header Cache-Control "max-age=31536000, public";
}