W3 Total Cache缩小了与nginx无关的重写规则

时间:2012-06-03 02:48:05

标签: wordpress nginx rewrite minify

我在nginx服务器上安装了W3 Total Cache的WordPress安装。我在Opcode APC和自动模式下使用minify选项。激活此选项后,我收到以下错误:

  

显示Minify URL重写无法正常工作。如果使用apache,请验证服务器配置是否允许.htaccess,或者使用nginx验证配置中是否包含所有配置文件。

在nginx.conf中我有插件建议我放的东西,即:

# BEGIN W3TC Minify core
rewrite ^/usr/share/nginx/html/wp-content/w3tc/min/w3tc_rewrite_test$ /usr/share/nginx/html/wp/wp-content/w3tc/min/index.php?w3tc_rewrite_test=1 last;
rewrite ^/usr/share/nginx/html/wp-content/w3tc/min/(.+\.(css|js))$ /usr/share/nginx/html/wp/wp-content/w3tc/min/index.php?file=$1 last;
# END W3TC Minify core

在此规则之上,我还有以下内容以启用WordPress非常永久链接:

try_files $uri $uri/ /index.php;

这可以防止零日攻击:

#try_files      $uri =404;

然而,禁用这些仍然不会使minify重写工作。

如果我禁用了minify的URL重写,请求将返回400状态。

知道我可能做错了吗?

2 个答案:

答案 0 :(得分:1)

您不需要按照插件的建议将这些行放在nginx配置中。

这是更新的配置 - http://rtcamp.com/tutorials/standard-wordpressnginx-configuration-w3-total-cache/

它可能会进入W3 Total Cache帮助部分(参见上面文章的评论参考)

答案 1 :(得分:1)

Nginx缺少配置,通过.htaccess文件包含在Apache配置中。在我的情况下重写是有效的,但我收到上面的错误信息使用文件,APC和Memcached缩小。在稍微挖掘一下代码后,我将这一行添加到我的Nginx配置中并清除了消息:

rewrite /w3tc_rewrite_test$ /wp-content/plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1 permanent;

您还可以在插件根目录中包含插件生成的nginx.conf

http://justinsilver.com/technology/fixed-appears-minify-url-rewriting-working-w3tc-nginx/