首页 > 解决方案 > 为什么我的图片在以前工作的网站中消失了 (404)?

问题描述

大约一年半前,我创建了一个 IIS 网站,其中有很多关于各种 aspx/asp 选项卡页面的图片。我的开发 PC 是 Windows 8.1 Pro,带有 IIS 版本 8.5.9600.16384 网站。该网站是使用 Visual Studio 2012 开发的。该网站发布在同一台 Windows PC 上。

然后将发布的网站复制到 IIS 版本 8.5.9600.16384 网络上的 Window Server 2012R2 上并且运行良好。渐渐地,搜索引擎机器人找到了该网站,一切都很好。

这周我去对网站进行一些更新,发现没有一张图片有效。他们都返回一个 404 html 代码。当我从 IIS 中单独查看 .jpg 文件时,Firefox 返回“无法显示,因为它包含错误”。Chrome 和 Edge 都说找不到该文件。如果我从 Windows 文件资源管理器查看这些文件,它们看起来不错。

所以我删除了服务器上的文件,然后从我的开发PC上复制了发布的网站。还是没有图片。

我在同一台服务器上有另一个类似的 Web 应用程序,因此将其中一个 jpg 文件移动到该目录并尝试通过 IIS 查看它 - 仍然是 404。我从另一个网站复制了一张图片到我的“损坏”目录,另一张图片是可通过 IIS 查看。所有这些图片都使用 Photoshop 7.0 以相同的方式进行了缩小。

我回到我的开发 PC 并通过 IIS 查看原始网站。图片是可见的,所以我重新发布了网站,将其复制到服务器 - 没有图片。

然后我找到了原始图片(未缩小)并将其移至服务器。还是404。

我的问题似乎不是权限,因为我可以查看从另一个网站复制到该目录的图片。

该网站已经运行了一年多,但图片现在返回 404。

图片可以在使用IIS的开发PC上查看,但不能在发布它们然后将网站复制到服务器之后。

另一个具有基本相同代码的网站以相同的方式减少图片显示图片很好。

我真的很困惑,很想听听你关于我的问题的一些想法。感谢您抽时间阅读。

标签: asp.netiishttp-status-code-404jpeg

解决方案


我总是从丢失图像开始的第一个地方是查看源代码并确保图像的路径实际上是我认为的。

你能做点什么,所以现在路径是相对于机器的文件结构而不是相对于站点构建的?这可能会导致在本地找到图像,而不是在您的服务器上。

如果您包含 URL 以便我们可以检查显示的页面,那么某人可能会更容易了解。


推荐阅读