Apache的mod_concatx模块, 可以合并多个文件在一个http响应报文中,可以有效提高js/css的加载速度。

原有的mod_concat模块存在以下三个问题:
1、每次都会重新向客户端发数据,没有合理利用浏览器缓存
2、存在安全漏洞,导致服务端程序被下载,比如”/??jquery.js,common.php”
3、合并每个文件时中间没间隔,导致内容粘连在一起,可能引起错误

mod_concatx模块是chenweiqi在mod_concat基础上修改的,解决了前面提到的一些问题。

使用方法:

    <link href="/style/??css1.css,css2.css,css3.css" type="text/css" rel="stylesheet"/>  
    <script src="/js/??js1.js,js2.js,js3.js,js4.js" type="text/javascript"></script>  

Windows模块下载地址:http://download.csdn.net/detail/cwqcwk1/9213863(内附源码,dll,2015-10-26 更新了gzip支持)

模块配置
打开apache配置文件httpd.conf

LoadModule concatx_module modules/mod_concatx.dll

高级配置:(以下是默认配置,可以不配置)

<IfModule concatx_module>
ConcatxDisable Off
ConcatxCheckModified On
ConcatxSeparator On
ConcatxMaxSize 1024
ConcatxMaxCount 10
ConcatxFileType js,css
</IfModule>

详细说明

ConcatxDisable On/Off
//是否使用mod_concatx模块

ConcatxCheckModified On/Off
//检查文件是否改动,建议On

ConcatxSeparator On/Off
//合并文件时是否加换行分隔,建议On

ConcatxMaxSize 数字
//合并文件总大小限制最大值,建议不要太大

ConcatxMaxCount 数字
//合并文件总个数限制最大值,建议不要太大

ConcatxFileType js,css
//合并文件类型限制,如不限制填","

支持gzip
gzip压缩依赖其他原生apache模块mod_deflate,开启方法如下:

打开apache配置文件httpd.conf

LoadModule deflate_module modules/mod_deflate.so

如加载模块后apahce无法启动,请安装vc10运行库。这是因为作者提供的dll都是vc10编译的,地址如下: VC10运行库 (2016-8-15更新)

以上内容摘录自:apache模块 合并多个js/css 提高网页加载速度

Related Posts: Apache 支持一次请求多个js/css mod_concatx模块 :

avatar