2010-05-04 56 views
1

基本上,一个朋友刚刚给我一个老域名开发,它有不少入站链接,并获得大量的404次点击。将404热链接图像重定向到单个图像?

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

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

+0

将您的404.html/.php改为指向图片 – KevinDTimm 2010-05-04 18:10:38

+0

KevinDTimm:浏览器将不会显示它们为图像获取的404消息。您必须隐藏图像未找到的事实。 – Tgr 2010-05-04 18:21:34

+0

自从你提到kohana,请参阅http://stackoverflow.com/questions/827458/in-kohana-can-you-trigger-a-404-error – KevinDTimm 2010-05-04 18:22:44

回答

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()检查查询是否返回了一些内容。

1

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

1

(基于Apache),最简单的方法是:

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

但是,这将成为了图像ALL 404,虚拟主机/位置/目录内您在指定此处理,所以一个简单的拼写错误合法的请求仍然会得到这个图像。