【问题标题】:.htaccess 404 redirect, but not in case of no images?.htaccess 404 重定向,但不是在没有图像的情况下?
【发布时间】:2012-11-29 22:57:55
【问题描述】:

有一个 404 重定向,工作正常,但我正在 .htaccess 文件中寻找解决方案,以便在找不到图像(jpg、gif、png、...)的情况下例外。

这里有人有可能这样做吗?

htaccess 文件中的实际规则:

ErrorDocument 404 http://example.com/

最好的问候!

【问题讨论】:

  • 您当前的重定向规则/指令是什么样的?
  • 这是我的 htaccess 文件中的简单 404 规则:ErrorDocument 404 example.com
  • 如果有人访问了不存在的图像,您希望发生什么?

标签: .htaccess exception http-redirect


【解决方案1】:

我猜如果找不到图像,您希望用户看到带有错误消息的图像,而不是通常显示的默认文本页面。以下是如何做到这一点:

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Add additional file extensions to the list as needed.
RewriteCond %{REQUEST_FILENAME} \.(gif|jpg|jpeg|bmp|tiff)$
RewriteRule (.*) /relative/location/of/errorimage.jpg

如果您还想做其他事情,请回复评论,我会相应地调整示例。

【讨论】:

  • 你好 Wige,我试图阻止 404 重定向规则,只是为了防止找不到图像的 URL,但这也是一个很好的解决方案,所以我将其标记为正确回答!谢谢。
  • 乐于助人。如果你想输出一个不同的错误文档,你也可以通过在规则中放置适当的路径来做到这一点。
  • 我刚刚注意到一个问题,那就是它不会返回 404 的状态码。您可以做的最接近的方法是在最后一个末尾添加 [G]上面的行,这将返回 410(消失,将阻止搜索引擎对图像进行编目)。我不确定它是否有效,但它可能会。
  • 我的项目不返回 404 状态码是可以的,但如果您认为它更好,我添加了 [G]。这是一个社区,用户可以将照片上传到私人相册,他们的朋友会收到通知。现在我遇到了上传者可以再次删除照片的问题,如果朋友点击图片通知链接,那么现在会出现 nophoto.jpg。我认为这样更好,而不是将用户重定向到主页,因为不再找到图像 URL。所以,现在一切都很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多