Apache2.4服务器下HTML内嵌JS注释换行被自动删除如何排查?
可提供给技术支持人员的排查思路
- 首先核查Apache已加载的模块,执行命令
apachectl -M列出所有激活模块,重点排查mod_pagespeed、mod_minify、mod_jsmin、mod_filter这类和资源优化、输出内容处理相关的模块,这类模块是自动精简JS的最常见原因。 - 若匹配到相关优化模块,核查对应模块的全局配置以及站点专属配置,比如
mod_pagespeed默认会开启JS注释清除、代码合并规则,可查看是否开启了rewrite_javascript、remove_javascript_comments类配置项,临时禁用对应模块的JS优化规则后验证问题是否消失。 - 检查站点根目录及各级子目录下的
.htaccess文件,确认是否存在输出过滤、内容替换类规则,比如通过mod_substitute、AddOutputFilter配置将HTML/JS输出交由第三方压缩程序处理的规则。 - 核查站点虚拟主机配置,确认是否配置了
mod_ext_filter类扩展过滤规则,调用外部js压缩工具处理页面内联JS内容。 - 在服务器本地执行curl命令直接获取页面响应:执行
curl 页面访问地址查看返回的源码是否已经是精简后的状态,同时配合curl -I 页面访问地址查看响应头,是否存在X-Mod-Pagespeed这类优化工具的专属标识,快速定位处理程序来源。 - 排查服务器运行的独立进程,执行
ps aux查看是否存在非Apache自带的Web资源优化、自动压缩类服务在运行,部分主机商默认会部署独立的页面优化服务处理输出内容。
内容的提问来源于stack exchange,提问作者Dan Zen
相关产品推荐
相关产品推荐

