我在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状态。
知道我可能做错了吗?
答案 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/