将404热链接图像重定向到单个图像?

时间:2010-05-04 18:08:35

标签: php image redirect http-status-code-404

基本上,朋友们只是给了我一个旧的域名来开发,它有很多入站链接,并且获得了大量的404次点击。

该网站的基础是让用户热链接图像,放入论坛签名/博客评论等等。我想知道是否有办法将所有这些损坏的图像链接重定向到单个图像,这些图像将显示在他们的页面上? (基本上有一条消息说网站备份了新图片!)

我正在Kohana开发新网站,并使用CPanel管理托管(如果有任何帮助)。

3 个答案:

答案 0 :(得分:1)

如果mod_rewrite可用,您可以为所有与任何文件名对应的图片添加重写规则,并使用RewriteCond根据{{1}过滤掉您自己网站的请求}。我认为this article会为您更详细地解释这一点。

答案 1 :(得分:1)

嗯,我想,既然你正在使用PHP,那就是某种“基于ID的检索图像”功能。

如果您要将图像存储在目录中,请尝试使用

file_exists('path/to/my/img.png') ? $image = 'path/to/my/img.png' : $image = 'path/to/my/default/img.png';

如果您将它们存储在数据库中,请遵循相同的逻辑。而不是使用file_exists()检查查询是否返回了什么。

答案 2 :(得分:1)

最简单的方法(在Apache上)是:

 ErrorDocument 404 /url/pointing/to/image/you/want/to/serve.jpg

但是,这将为您指定此处理程序的vhost / location /目录中的所有404提供图像,因此合法请求上的简单拼写错误仍会获得此图像。