0

我正在一个网站上工作,我已将 apache 配置为通过以下方式将404页面指向index.php

"ErrorDocument 404 /index.php" 

所以我可以手动解析 url 参数。我目前正在编写一个图像包装器,所以如果你去例如

"myssite.com/image/test"

它将显示一个测试图像,其中php标头设置为 image/jpeg,以掩盖图像在服务器上的物理位置,因为图像稍后将由数据库管理。当我通过php显示此图像时,如下所示:

"echo '<img src="/image/test" alt="some_text">';"

它显示正确。如果同样的事情是用 javascript 完成并插入到页面上,它会收到 404 错误并且不会加载图像。

我想我要么apache根本不需要报告404,要么以某种方式改变 javascript 处理它的方式。有什么建议么?

4

2 回答 2

0

请将您的页面与其他 php 脚本连接以了解标头响应

$ch = curl_init('http://myssite.com/image/test'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
echo $data;

确保它给出200 ok;

如果它给出 404 可能是标题的问题。

所以你必须使用 htaccess 重定向到你的图像

于 2013-01-23T02:37:49.787 回答
0

通过将以下内容添加到 httpd.conf 来修复 404 错误:

<Directory "/var/www">
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]

</Directory>

尽管这对不显示图像没有帮助,但这使我更仔细地查看了显示图像的功能。当我在显示图像之前使用裁剪脚本时出现问题,这很可能导致标题出现问题。这应该需要我对后端进行较小的更改。

感谢大家的帮助。

于 2013-01-23T03:11:09.847 回答