php – mod_rewrite之后的jpg文件的HTTP头

我正在使用Apache的mod_rewrite将JPG文件的请求路由到我的Web根目录之外的目录.

它通常很好,但有一些图像不显示.然后我意识到当我在我的图像URL上使用PHP的get_headers()函数时,它们都会返回
内容类型:text / html; charset = UTF-8而不是正确的image / jpeg标头类型.

我已经尝试显式设置Content-Type:image / jpeg标题,但是,我的图像都没有返回正确的标题 – 尽管大多数图像都能正确显示,但我不确定原因.

当通过mod_rewrite重定向时,如何确保使用正确的标头发送JPG文件?

解决方法:

这就是你能做的.创建一个PHP文件,该文件将获取正确的文件并将其传递通过

<?php 
$sImage = 'imagename.jpg';
header("Content-Type: image/jpeg");
header("Content-Length: " .(string)(filesize($sImage)) );

echo file_get_contents($sImage);

要么

<?php
$sImage = 'imagename.jpg';
$rFP = fopen($sImage, 'rb');

header("Content-Type: image/jpeg");
header("Content-Length: " .(string)(filesize($sImage)) );

fpassthru($rFP);
exit;
上一篇:c – 解码JPEG以获取未压缩的数据


下一篇:Android JPEG到Bitmap =缩小尺寸