【问题标题】:W3 Total Cache minify rewrite rules not working with nginxW3 Total Cache 缩小重写规则不适用于 nginx
【发布时间】:2012-06-07 17:06:30
【问题描述】:

我已经在 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 状态。

知道我做错了什么吗?

【问题讨论】:

    标签: wordpress nginx rewrite minify


    【解决方案1】:

    通过.htaccess 文件包含在 Apache 配置中的 Nginx 配置缺失。在我的情况下,重写是有效的,但是我使用文件、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/

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-19
        • 1970-01-01
        • 1970-01-01
        • 2013-06-26
        • 1970-01-01
        相关资源
        最近更新 更多