1

我已经在 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 禁用 URL 重写,请求会返回 400 状态。

知道我可能做错了什么吗?

4

2 回答 2

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/

于 2013-11-23T14:18:03.557 回答
1

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

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

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

于 2012-09-28T06:43:51.233 回答