【问题标题】:Redirect 404 hotlinked images to a single image?将 404 热链接图像重定向到单个图像?
【发布时间】:2010-05-05 04:31:15
【问题描述】:

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

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

我正在 Kohana 上开发新网站并使用 CPanel 来管理主机(如果这有帮助的话)。

【问题讨论】:

  • 改变你的 404.html/.php 指向图片
  • KevinDTimm:浏览器不会显示他们收到的图像 404 消息。您必须隐藏未找到图像的事实。
  • 既然你提到了 kohana,请参阅stackoverflow.com/questions/827458/…
  • @Tgr - 不是浏览器问题 - 这是服务器问题

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


【解决方案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】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-06-29
        • 1970-01-01
        • 1970-01-01
        • 2014-03-02
        • 1970-01-01
        相关资源
        最近更新 更多