网站显示错误图片

Website showing wrong images

我有一个单页静态网站。我的网站显示的图像与 HTML 中引用的图像不同。例如:

<img src="img/About_Us_Graphic.png" alt="About us photo" id="aboutUsPic" style="margin: auto;">

有时会显示为实际

的图像
<img src="img/Facebook_icon.png"> 

这几乎是随机发生的。有时图片是正确的,有时它们是完全不同的图片。当它是一张错误的图片时,它并不总是相同的错误图片。是什么原因造成的?我该如何解决?

我的网站使用 Foundation 5(不确定这是否相关)。谢谢!

我发现与您描述的情况类似的情况是以下几个原因之一的症状:

  1. 有人在您不知情的情况下修改网站内容。询问您的团队成员是否认识可能会这样做的人。

  2. 您的客户端缓存正在接管。要解决此特定问题,请转到您的浏览器并清除临时文件。有时您还必须清除 cookie 和其他历史项目。

  3. 客户端代理。有时,代理服务器会存储它们所服务内容的缓存,以减少请求的负载。当它们以循环方式工作时,代理圈内的不同服务器可能具有不匹配的内容。 * https://en.wikipedia.org/wiki/Load_balancing_(computing)

  4. 负载平衡的 Web 服务器。我见过一些情况,负载平衡内容的服务器会保留数据。在我的特定场景中,使用了内存缓存并且似乎会保留内容直到其索引被刷新。

如果没有关于您的设置的更多信息,任何人都无能为力。正如 oxguy3 所建议的那样 - 您的代码中甚至可能有某些东西导致了这种情况。

请尝试直接在浏览器中输入图像的 URL ,看看它是否始终出现相同的结果,然后尝试相同的 url 并在其后添加“?someArbitraryText” "someArbitraryText" 只是一些随机字符。

而不是“http://my.server.com/img/About_Us_Graphic.png", use "http://my.server.com/img/About_Us_Graphic.png?arbitrary”。我遇到的大多数服务器仍会提供图像,但如果涉及负载平衡器、代理或内存缓存,它将认为这是一个不同的 URL 并从源而不是某些缓存文件加载它。

我见过一些这样做会带来不同结果的案例(例如在 salesforce 云上)。

让我们知道您的发现。任何一点线索都可以帮助某人识别和确定根本原因。