为什么我的图片在以前工作的网站上消失了 (404)?
Why have my pictures disappeared (404) in a previously working website?
大约一年半前我创建了一个 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 上,并且运行良好。搜索引擎机器人逐渐找到了该站点,一切都很好。
这周我对网站进行了一些更新,发现 none 的图片有效。他们都在 returning 404 html 代码。当我从 IIS Firefox 单独查看 .jpg 文件时 returns“无法显示,因为它包含错误”。 Chrome 和 Edge 都说找不到文件。如果我从 Windows 文件资源管理器查看这些文件,它们看起来很好。
所以我删除了服务器上的文件,然后从我的开发电脑上复制了发布的网站。还是没有照片。
我在同一台服务器上有另一个类似的 Web 应用程序,因此将其中一个 jpg 文件移动到该目录并尝试通过 IIS 查看它 - 仍然是 404。我从其他网站复制了一张图片到我的“损坏”目录另一张图片可通过 IIS 查看。所有这些图片都是使用 Photoshop 7.0 以相同的方式缩小的。
我回到我的开发电脑并通过 IIS 查看原始网站。图片可以看,所以我重新发布了网站,复制到服务器 - 没有图片。
然后我找到了原图(没有缩小),把它移到了服务器上。还是404.
我的问题似乎不是权限问题,因为我可以查看从另一个网站复制到该目录的图片。
该网站已经运行了一年多,但图片现在 return 404。
开发PC使用IIS可以看到图片,发布后复制网站到服务器就看不到了
另一个具有基本相同代码但以相同方式缩小图片的网站可以正常显示图片。
我真的很困惑,很想听听您关于我的问题可能是什么的一些想法。感谢您花时间阅读本文。
我总是从缺少图像开始的第一个地方是查看源代码并确保图像的路径实际上是我认为的。
你能不能做点什么,现在路径是相对于机器的文件结构而不是相对于站点构建的?这可能会导致图像在本地找到,但在您的服务器上找不到。
如果您包含 URL 以便我们检查显示的页面,其他人可能更容易理解。
我很确定我找到了问题,但它会引出其他问题。
我缩短了文件名,现在我可以通过 IIS 浏览到它了。
所以这是我目前的问题:
为什么图片原来可以浏览,现在不能浏览了?关于可接受的文件长度是否有某种互联网变化?或者可能是某种 Server 2012R2 更新导致了此更改?
为什么这些图片可以通过 IIS 在我的 Windows 8.1 PC 上浏览,但不能在 Server 2012R2 上浏览?我也可以打开网站看到所有的图片 Windows 8.1.
很高兴解决了一个问题,但如果有人有任何建议,我仍然想知道原因。
我终于明白为什么我的照片不见了。是的,重命名我的 .jpg 文件确实解决了问题,但这不是原因。问题是我已将 /2018、/2019 和 /2020 添加到我的 IIS 请求过滤被拒绝。我所有的图片文件上都有日期。当我 renamed/shortened 文件名时,我删除了 /year。呸!我做的蠢事!这也解释了为什么我可以在我的开发 PC 而不是服务器上查看这些网页——没有请求过滤。希望我的错误可以帮助某人。
大约一年半前我创建了一个 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 上,并且运行良好。搜索引擎机器人逐渐找到了该站点,一切都很好。
这周我对网站进行了一些更新,发现 none 的图片有效。他们都在 returning 404 html 代码。当我从 IIS Firefox 单独查看 .jpg 文件时 returns“无法显示,因为它包含错误”。 Chrome 和 Edge 都说找不到文件。如果我从 Windows 文件资源管理器查看这些文件,它们看起来很好。
所以我删除了服务器上的文件,然后从我的开发电脑上复制了发布的网站。还是没有照片。
我在同一台服务器上有另一个类似的 Web 应用程序,因此将其中一个 jpg 文件移动到该目录并尝试通过 IIS 查看它 - 仍然是 404。我从其他网站复制了一张图片到我的“损坏”目录另一张图片可通过 IIS 查看。所有这些图片都是使用 Photoshop 7.0 以相同的方式缩小的。
我回到我的开发电脑并通过 IIS 查看原始网站。图片可以看,所以我重新发布了网站,复制到服务器 - 没有图片。
然后我找到了原图(没有缩小),把它移到了服务器上。还是404.
我的问题似乎不是权限问题,因为我可以查看从另一个网站复制到该目录的图片。
该网站已经运行了一年多,但图片现在 return 404。
开发PC使用IIS可以看到图片,发布后复制网站到服务器就看不到了
另一个具有基本相同代码但以相同方式缩小图片的网站可以正常显示图片。
我真的很困惑,很想听听您关于我的问题可能是什么的一些想法。感谢您花时间阅读本文。
我总是从缺少图像开始的第一个地方是查看源代码并确保图像的路径实际上是我认为的。
你能不能做点什么,现在路径是相对于机器的文件结构而不是相对于站点构建的?这可能会导致图像在本地找到,但在您的服务器上找不到。
如果您包含 URL 以便我们检查显示的页面,其他人可能更容易理解。
我很确定我找到了问题,但它会引出其他问题。
我缩短了文件名,现在我可以通过 IIS 浏览到它了。
所以这是我目前的问题:
为什么图片原来可以浏览,现在不能浏览了?关于可接受的文件长度是否有某种互联网变化?或者可能是某种 Server 2012R2 更新导致了此更改?
为什么这些图片可以通过 IIS 在我的 Windows 8.1 PC 上浏览,但不能在 Server 2012R2 上浏览?我也可以打开网站看到所有的图片 Windows 8.1.
很高兴解决了一个问题,但如果有人有任何建议,我仍然想知道原因。
我终于明白为什么我的照片不见了。是的,重命名我的 .jpg 文件确实解决了问题,但这不是原因。问题是我已将 /2018、/2019 和 /2020 添加到我的 IIS 请求过滤被拒绝。我所有的图片文件上都有日期。当我 renamed/shortened 文件名时,我删除了 /year。呸!我做的蠢事!这也解释了为什么我可以在我的开发 PC 而不是服务器上查看这些网页——没有请求过滤。希望我的错误可以帮助某人。