WordPress W3总caching最小化 – JS和CSS文件未创build(nginx)

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

  • 我处于手动缩小模式
  • 在最小化设置中,我有Rewrite URL structure选项closures。 这种方法无效,但是这种方法需要较less的nginxconfiguration。

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

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

同样,如果我打开了Rewrite URL structure ,那么path是: /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

其他潜在解决scheme

  • 我已经尝试recursion地在整个caching目录上做一个chmod 777 ,但是它从来没有创build这个文件,也没有报告错误。
  • 我已经成功安装并使用了yui-compressor和Oracle Java,但是文件仍然没有被创build。 所以我知道这不是一个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.

插件作者报告这是一个经常误报,但那是两年前。 我不确定这是什么意思,没有太多有用的信息。

所以…有没有人有过文件缩小工作与W3总cachingnginx? 谢谢!

我已经部分解决了这个问题,确保:

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

这意味着,每次改变缩小选项,他都必须去

HTTP://www.domain.tld/wp-admin/admin.php页= w3tc_install

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

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

 nginx -s reload 

要么

 service nginx restart 

3)取消选中W3TC Minify页面中的“Rewrite URL structure”选项。

这将使生成的页面的表现稍微降低,但我还没有找到一个真正的解决方法,适用于我的所有网站。