php · 2012-09-01

WordPress 3 多站点配置子站点无法显示图片问题

所有图片下载完成后,Firefox显示”图像 “XXXX” 因其本身有错无法显示。” , FireBug显示”Image corrupt or truncated“

把图片下载下来,用16进制编辑器打开,发现比通常的文件头多了”EF BB BF“,这显然是UTF8的DOM签名。
估计是伪静态转接时,没有清理干净。

 

打开wp-includes/ms-files.php

 

在最后

// If we made it this far, just serve the file
readfile( $file );

 

改为

// If we made it this far, just serve the file
// fix utf-8 dom
ob_clean();
flush();
readfile( $file );
flush();

即可。