繁体   English   中英

在apache中覆盖404页面时的404处理

[英]404 handling when 404 page is overwritten in apache

我正在一个网站上,在该网站上我已配置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处理它的方式。 有什么建议么?

请使用其他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重定向到图像

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

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

</Directory>

尽管这对不显示图像没有帮助,但是这使我不得不更仔细地查看显示图像的功能。 当我在显示图像之前使用裁剪脚本时,情况变得很糟糕,导致标题出现问题的可能性更大。 这应该需要我做一些小的后端更改。

感谢大家的帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM