我有一个在nginx上运行的Wordpress多站点网络。我正在尝试使用w3总缓存设置缓存。我99%那里,但我只是坚持一条规则。
我发现some instructions指出了这个重写规则来重写缩小的css&带有漂亮URL的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
变量,而是实际测试字符串"$host"
。有没有办法在测试中实际使用$host
变量的值?或者,使用一般规则是个好主意,例如:
rewrite ^/wp-content/w3tc-.*?/min/(.+\.(css|js))$ /wp-content/w3tc-$host/min/index.php?file=$1 last;
我愿意接受更好的建议 - 正则表达对我来说不是一个强项。
最后,对于任何寻找替代答案的人来说:只需在缩小设置中禁用“重写URL结构”,就可以实现缩小工作。这纯粹是针对缩小文件的漂亮网址。
答案 0 :(得分:0)
变量内插在重写正则表达式中不可用。我会用类似的东西:
rewrite ^/wp-content/w3tc-(.*?)/min/(.+\.(css|js))$ /wp-content/w3tc-$1/min/index.php?file=$2 last;