首页 >php教程 >PHP开发 >Windows下使用apache模块实现合并多个js、css提高网页加载速度

Windows下使用apache模块实现合并多个js、css提高网页加载速度

高洛峰
高洛峰原创
2017-01-04 10:39:311112浏览

现在的网站表现力越来越丰富,页面加载的js和css自然也越来越多。当网站页面上的js和css太多,浏览器打开页面的速度就会很慢,明显降低了用户的体验。使用mod_concatx, 可以合并多个文件在一个http响应报文中,可以有效提高js/css的加载速度。

示例效果如下:

Windows下使用apache模块实现合并多个js、css提高网页加载速度

mod_concatx模块是在mod_concat基础上修改的,感谢他们的工作。

原有的mod_concat模块有很大的参考价值,但实际作用不大。

该模块存在以下三个问题:

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

使用方法:

<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>

模块配置:

打开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
//合并文件类型限制,如不限制填","

最后语:
建议自己编译这个模块,安全放心

后期改进方向:
todo:考虑加入js,css压缩
todo:考虑支持zend解析后的文件
bug:目录存在默认页加载异常(考虑上层hook处理)


更多Windows下使用apache模块实现合并多个js、css提高网页加载速度相关文章请关注PHP中文网!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn