我在同一文件夹中有2个cfm页面,它们的工作非常相似。它们都为用户相关数据生成一些报告。我最近在其中添加了一张加载图片,因为生成报告的某些查询可能需要一段时间。
第二页是一个新的但非常相似的页面。由于页面位于同一文件夹中,因此我认为加载图像的相对路径应该相同。但是,新页面为图像请求提供了404响应,当我检查http请求标头时,它正在向相对路径添加一个额外的文件夹,因此无法找到图像。
<img src="../../../Graphics/General/loading.gif">
它们都是非常相似的页面,它们显示一个简单的表单,然后运行一些查询并生成一个表以向用户显示相关数据。但是,上面的相对路径在一页上生成“ Dev / Menu / Graphics / General / loading.gif”,在另一页上生成“ Dev / Graphics / General / loading.gif”。
此后,我发现在新文件的图像路径中添加额外的“ ../”已将其修复为新页面,但是我茫然地知道为什么需要此修复程序以及它为何起作用
<img src="../../../../Graphics/General/loading.gif">
我希望由于两个页面都在同一文件夹中,因此给定图像的相对路径将完全相同。我大多只是好奇为什么不这样。
答案 0 :(得分:0)
这两个报告位于同一文件夹中。您要直接加载这些页面吗?
yourSite.com/reports/report1.cfm
yourSite.com/reports/report2.cfm
这些文件是否通过其他父页面加载?
yourSite.com/some/other/folder/with/include_report1.cfm
yourSite.com/yet/another/folder/that/contains/include_report2.cfm
通常,最好直接从Web根目录加载图像,以避免出现此类相对路径问题。如果Graphics
文件夹位于根目录,则只需在两个文件中引用图像,如下所示:
<img src="/Graphics/General/loading.gif">
这样,无论文件包含它们并将最终的HTML呈现给浏览器都没有关系,无论如何,图像都将从Web根引用。