0

就在 30 分钟前,我遇到了一个非常出乎意料的问题(事实上,这是我一生中第一次发生在我身上,也是在 10 年的网站编码中)。

在我的管理模块的特定页面上,很少有图像恢复到原来的状态,就像几天前一样。这意味着我昨天改变了它们,现在它们看起来都像以前一样。

它变得更加奇怪。我使用 Filezilla 登录,并删除了图像。在我更改它们之前,它们仍然以 3 天前的样子出现。

如果我转到图像的 URL,它仍会显示旧图像。如果我在本地的 Windows 文件夹中查看它们是新版本,请再次上传它们,但浏览器仍然显示旧版本。

我删除了 Chrome 中的缓存,甚至重新启动了计算机,认为这与 Chrome 或其他东西有关,我真的没有选择。Firefox 显示相同的旧图像(即使我上传了新版本的图像)。

我尝试使用 CPanel FTP 管理器,然后......惊喜......如果我看一张图片,它是图片的好版本(新的!)。但是所有浏览器都看不到图像。同样作为一个关键点,如果我用 ftp 擦除图像,浏览器仍然可以看到它(SHIFT + f5,它仍然可以看到它,所以它不是来自缓存)。?!?!

任何指出问题的人都非常感谢。干杯

4

3 回答 3

2

Sounds like your hosting provider has a reverse proxy that caches requests for images. One way to overcome the problem is to add something to the URL, perhaps a request parameter, that makes the proxy think that the request is not for the same image.

For example, http://www.example.com/yourimage.png?date=2012-10-25

于 2012-10-25T14:08:24.877 回答
0

听起来托管服务提供商把你搞砸了,所以我想说第一步是将它们转储并转移到其他地方......

但是如果 Joni 的建议不起作用,您可以在服务器上动态构建图像,例如:

<img src="imageHandler.php?image=myimage.png" />

您的 imageHandler.php 代码需要读取图像的字节,并手动构建 HTTP 响应并将图像字节传回。不确定在 PHP 中会是什么样子,但它不应该超过几行代码。

这是一个糟糕的解决方案,因为它需要大量的处理和磁盘访问来完成像拉图像这样的琐碎任务,但我希望它至少可以工作。

于 2012-10-25T14:18:08.540 回答
0

这是我第一次回答我自己的问题,因为它与外部因素有关。

是的,问题已解决,实际上是技术人员。部门 在 ISP 我托管了文件,我的域 xxx.net 的虚拟主机配置文件是 ..misconfigured。

大家加油,问题解决了

于 2012-10-26T06:54:39.897 回答