来自同一文件夹中2个文件的img标签中的相同图像的相对路径不同

时间:2019-06-07 23:47:50

标签: html image coldfusion loading relative-path

我在同一文件夹中有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">

我希望由于两个页面都在同一文件夹中,因此给定图像的相对路径将完全相同。我大多只是好奇为什么不这样。

1 个答案:

答案 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根引用。