【问题标题】:mod_pagespeed won't combine CSS and JSmod_pagespeed 不会结合 CSS 和 JS
【发布时间】:2018-01-20 20:37:59
【问题描述】:

我已经在我们的服务器上安装了 mod_pagespeed,但它不会在我们的网站 oktoberfest.it 上结合我的 CSS 和 JS。显然我已经在 pagespeed.conf 文件的过滤器中激活了 combine_css、combine_javascript 和 PassThrough。

我也读过 mod_pagespeed 不能合并包含 CSS3 指令的 CSS 文件,但是在我的 Apache 的日志文件中,在启用 LevelLog 调试之后,当然没有任何错误或关于合并失败的信息。既不是 CSS 也不是 JS。

我尝试过:

  1. 读取 CoreFilters
  2. 重启 Apache
  3. 使用触摸删除 mod_pagespeed 缓存 /var/mod_pagespeed/cache/cache.flush
  4. 停用除 combine_css 和 combine_javascript 之外的所有过滤器
  5. 我已检查 .config 文件中指示的文件夹是否为 CHMOD 777

我现在不知道该怎么办。我已经完成了想法。我真的希望这个 mod_pagespeed 功能可以在我们的网站上使用,我们有 40 个来自我们无法管理的插件的 CSS 和 JS 请求。

你建议我做什么?

【问题讨论】:

    标签: wordpress mod-pagespeed


    【解决方案1】:

    对于 CSS 组合

    当您使用 Wordpress 时,您需要在 function.php 的 Wordpress。

    function remove_style_id($link) {
            return preg_replace("/id='.*-css'/", "", $link);
    }
    add_filter('style_loader_tag', 'remove_style_id');
    

    Wordpress 将 ID="" 标签写入 pagespeed 不喜欢的 css 链接。所以会被忽略。

    但是如果 Javascript 调用 ID,它“可能”会导致插件出现问题,但通常没有人会这样做。这样你就安全了。

    【讨论】:

    【解决方案2】:

    您可以从 1.12.34.1 版本开始允许用于 css 组合的 ID,请查看 documentation

    由于 wordpress 将-css 添加到任何 ID,您只需添加:

    阿帕奇:

    ModPagespeedPermitIdsForCssCombining *-css
    

    Nginx:

    pagespeed PermitIdsForCssCombining *-css;
    

    【讨论】:

      【解决方案3】:

      似乎有一些问题阻止了 mod_pagespeed 合并您网站上的资源。首先,您的许多 CSS 文件都有id 属性,这将阻止combine_css 过滤器起作用。 HTML 通常期望元素具有单个 id 属性,如果将这些 CSS 文件组合在一起,则不清楚应该是什么。

      这并不能解释为什么 mod_pagespeed 似乎没有重写您页面上的任何 CSS 或 JS 资源。 mod_pagespeed 能够重写 HTML,例如 www.oktoberfest.it/?ModPagespeedFilters=collapse_whitespace 能够从页面中删除空白。问题可能是 mod_pagespeed 无法在内部获取这些资源。发生这种情况的原因有很多,但请在您的 apache error_log 中查找与 SERF 相关的消息。

      如果您的环境允许,最好的解决方法是使用ModPagespeedLoadFromFile 指令。也看看this FAQ entry,它解释了这个问题。您还可以尝试更新到 beta release 1.4.26.1 或更高版本,其中包含常见回送获取错误的解决方法。

      【讨论】:

        猜你喜欢
        • 2012-02-11
        • 2013-12-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多