我正在使用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;