WordPress W3 总缓存缩小 - 未创建 JS 和 CSS 文件 (nginx)

Ber*_*rto 5 php wordpress caching nginx w3-total-cache

我有一个 WordPress 网站,我正在尝试使用 W3 Total Cache 进行缩小。它在 Ubuntu 12.04 上的 nginx 上运行。

  • 我处于手动缩小模式
  • 在缩小设置中,我可以Rewrite URL structure选择关闭。这两种方式都不起作用,但这种方法需要较少的 nginx 配置。

当我加载站点时,它告诉 WP 从以下路径加载:

/wp-content/plugins/w3-total-cache/pub/minify.php?file=5fe99/default.include-body.baf22c.js

同样,如果我打开Rewrite URL structure,那条路径将是: /wp-content/cache/minify/000000/5fe99/default.include-body.baf22c.js

该文件不存在,如果您尝试访问它,则为 404。

查看该目录,我有:

~/public_html/wp-content/cache/minify/000000/5fe99$ ls -lah drwxrwxrwx 2 www-data www-data 4.0K Jun 26 08:51 . drwxrwxrwx 3 www-data www-data 4.0K Jun 26 08:51 .. -rw-r--r-- 1 www-data www-data 13 Jun 26 08:51 default.include-body.js.id -rwxrwxrwx 1 www-data www-data 13 Jun 26 08:23 default.include.css.id.old

其他可能的解决方案:

  • 我试过递归地chmod 777对整个缓存目录做 a ,但它从来没有创建这个文件,也没有报告错误。
  • 我已经成功安装并使用了 yui-compressor 和 Oracle Java,但是文件仍然没有被创建。所以我知道这不是 JSMin 问题。

本地 nginx.conf 文件的内容:

Rewrite URL structure为 OFF 时,这就是所要求的全部内容:

# BEGIN W3TC Minify cache location ~ /home/MY_HOME_DIR/public_html/wp-content/cache/minify.*\.js$ { types {} default_type application/x-javascript; expires modified 31536000s; add_header Vary "Accept-Encoding"; add_header Pragma "public"; add_header Cache-Control "max-age=31536000, public"; } location ~ /home/MY_HOME_DIR/public_html/wp-content/cache/minify.*\.css$ { types {} default_type text/css; expires modified 31536000s; add_header Vary "Accept-Encoding"; add_header Pragma "public"; add_header Cache-Control "max-age=31536000, public"; } location ~ /home/MY_HOME_DIR/public_html/wp-content/cache/minify.*js\.gzip$ { gzip off; types {} default_type application/x-javascript; expires modified 31536000s; add_header Vary "Accept-Encoding"; add_header Pragma "public"; add_header Cache-Control "max-age=31536000, public"; add_header Content-Encoding gzip; } location ~ /home/MY_HOME_DIR/public_html/wp-content/cache/minify.*css\.gzip$ { gzip off; types {} default_type text/css; expires modified 31536000s; add_header Vary "Accept-Encoding"; add_header Pragma "public"; add_header Cache-Control "max-age=31536000, public"; add_header Content-Encoding gzip; } # END W3TC Minify cache

另一个错误:

同时,我也收到此错误:

Recently an error occurred while creating the CSS / JS minify cache: A group configuration for "include-body" was not set.

插件作者将此报告为频繁的误报,但那是两年前的事。我不确定这意味着什么,没有太多关于它的好信息。

那么......有没有在 Nginx 上使用 W3 Total Cache 进行文件缩小?谢谢!

Dar*_*lli 5

我通过确保以下内容部分解决了这个问题:

1) 该nginx.conf文件已更新为最后的选项选择。

这意味着,每次更改缩小选项时,他都必须转到

http://www.domain.tld/wp-admin/admin.php?page=w3tc_install

并复制 nginx 示例配置并覆盖当前 nginx.conf

2) 重新加载 Nginx 新配置或重新启动 Nginx:

nginx -s reload
Run Code Online (Sandbox Code Playgroud)

或者

service nginx restart
Run Code Online (Sandbox Code Playgroud)

3) 在 W3TC 缩小页面中取消选中“重写 URL 结构”选项。

这将使生成的页面性能稍差,但我还没有找到适用于我所有网站的真正解决方法。

  • 3) 步骤为我解决了这个问题。非常感谢!你为我节省了大量时间:) (3认同)