使用相对路径或绝对路径引用Web资产有哪些优缺点?例如:
<link rel="StyleSheet" href="/css/mystylesheet.css" type="text/css" />
<img src="/images/myimage.gif" alt="My Image" />
VS
<link rel="StyleSheet" href="../css/mystylesheet.css" type="text/css" />
<img src="../images/myimage.gif" alt="My Image" />
答案 0 :(得分:2)
答案是“它取决于”。但大多数时候,绝对路径可能是最好的。
我使用绝对路径,我正在使用模板,或者如果我使用的是Apache的mod_rewrite。
如果您的页面包含随附的样式表,则可能会使用相对路径,该样式表在上载时可能位于不同的级别。即你已经编写了一个将在许多网站上使用的页面,有些人可能会将其上传到根目录,有些人可能不会 - 通过使用相对路径,只要他们一起上传html文件和css文件,它会起作用 - 而在这种情况下不会有绝对路径。
答案 1 :(得分:1)
这取决于您的服务器端文件组织。如果您使用URL rewriting或front controller,则相对路径可能无效。
另一方面,如果您使用绝对路径(即使您只使用“普通”HTML页面),您也可以重新排列页面,而无需关心它们在结构中的位置。
答案 2 :(得分:0)
如果您选择使用绝对路径而不是使用相对路径,那么最大的问题就是可维护性。
例如,假设您要更改服务器文件的结构,甚至将应用程序移至其他环境。为此,您需要进行额外的工作,因为需要更改所有绝对路径。在相同的情况下,使用相对路径不再需要额外的工作。
我的建议是在开发过程中以相对路径作为标准,并且只有在绝对必要时才选择使用绝对路径。