我有一个在 nginx 上运行的 Wordpress 多站点网络。我正在尝试使用 w3 总缓存设置缓存。我在那里有 99%,但我只是坚持一个规则。
我找到了一些说明,这些说明指向了这个重写规则,以用漂亮的 URL 重写缩小的 css 和 js 文件:
# Rewrite minified CSS and JS files
location ~* \.(css|js) {
if (!-f $request_filename) {
rewrite ^/wp-content/w3tc/min/(.+\.(css|js))$ /wp-content/w3tc/min/index.php?file=$1 last;
}
}
我像这样修改它以在我的多站点环境中工作:
rewrite ^/wp-content/w3tc-$host/min/(.+\.(css|js))$ /wp-content/w3tc-$host/min/index.php?file=$1 last;
但是我发现测试并没有解释$host
变量,而是实际测试了 string "$host"
。有没有办法$host
在测试中实际使用变量的值?或者,使用一般规则是否是个好主意,例如:
rewrite ^/wp-content/w3tc-.*?/min/(.+\.(css|js))$ /wp-content/w3tc-$host/min/index.php?file=$1 last;
我愿意接受更好的建议 - 正则表达式对我来说不是一个强项。
最后,对于任何寻找替代答案的人:只需在缩小设置中禁用“重写 URL 结构”即可使缩小工作。这纯粹是为了缩小文件的漂亮 URL。