MediaWiki应用静态文件响应头出现重复UTF-8编码问题求助
解决MediaWiki静态文件响应头重复UTF-8 charset问题
问题根源:Apache的
AddDefaultCharset UTF-8会给所有响应添加charset头,而MediaWiki输出CSS/JS这类静态资源时,自身也会发送charset=UTF-8的响应头,两者叠加导致重复。解决方案1:调整Apache配置(推荐)
全局AddDefaultCharset会影响所有文件,你可以针对MediaWiki的静态资源目录单独关闭该设置:- 打开httpd.conf或MediaWiki根目录下的
.htaccess文件 - 添加以下配置(替换路径为你的实际MediaWiki路径):
# 针对静态资源目录取消默认charset设置 <Directory "/你的MediaWiki路径/skins"> AddDefaultCharset Off </Directory> <Directory "/你的MediaWiki路径/extensions"> AddDefaultCharset Off </Directory> <Directory "/你的MediaWiki路径/resources"> AddDefaultCharset Off </Directory> - 重启Apache服务生效
- 打开httpd.conf或MediaWiki根目录下的
解决方案2:修改MediaWiki输出配置
若不想调整Apache全局设置,可通过MediaWiki配置关闭静态资源的charset头输出:- 打开LocalSettings.php
- 添加以下代码:
// 禁止资源加载器发送charset响应头 $wgResourceLoaderDisableCharsetHeader = true;
额外说明:你之前添加的
$wgLegacyEncoding = 'ISO-8859-1';是用于处理旧版本MediaWiki遗留的非UTF-8数据的,和本次静态资源响应头问题无关,可移除。
内容的提问来源于stack exchange,提问作者Subhomoy Goswami
相关产品推荐
相关产品推荐

