Pagespeed + nginx - 不缩小css和javascript

时间:2013-09-11 12:46:52

标签: pagespeed mod-pagespeed google-pagespeed

我有大约14个css表和大约12个需要用我的应用程序加载的js文件。

我正在使用google pagespeed。

不是将14张纸合并成1张,而是将它们合并为3张。

即使是javascript组合也不能很好地工作但是在某种程度上。那里也没有缩小。

我尝试过阅读文档但却找不到太多线索。

它也没有做任何缩小。它工作但只是在某种程度上

以下是与此有关的所有代码:

   pagespeed on;

   # Needs to exist and be writable by nginx.
   pagespeed FileCachePath /var/ngx_pagespeed_cache;
   pagespeed RewriteLevel PassThrough;
   pagespeed EnableFilters     add_head,combine_css,convert_meta_tags,convert_png_to_jpeg,extend_cache,fallback_rewrite_css_urls,flatten_css_imports,inline_css,inline_import_to_link,inline_javascript,rewrite_css,rewrite_images,rewrite_javascript,rewrite_style_attributes_with_url;
   pagespeed EnableFilters combine_javascript,remove_comments,collapse_whitespace;

   # Ensure requests for pagespeed optimized resources go to the pagespeed handler
   # and no extraneous headers get set.
   location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
     add_header "" "";
   }
   location ~ "^/ngx_pagespeed_static/" { }
   location ~ "^/ngx_pagespeed_beacon$" { }
   location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
   location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }

我错过了什么过滤器?

1 个答案:

答案 0 :(得分:2)

ngx_pagespeed可以生成的URL受到名为“MaxSegmentLength”[1]的设置的限制。这有很好的理由。这意味着可以组合成单个URL的文件数量也是有界限的。这可能是导致14个css文件合并为3个网址而不是1个网址的原因。

跳过javascript的缩小可能是因为这些事情: - javascript被诊断为内省[2]。 - javascript包含解析错误。

看看nginx的error.log可能是值得的,并检查配置加载消息和ngx_pagespeed的输出在那里的第一个请求,以找出问题所在。

[1]请参阅https://developers.google.com/speed/pagespeed/module/restricting_urls处的“限制最大生成的网址段长度” [2]请参阅上面网址的“限制PageSpeed重写内省JavaScript的网址”。