我有一个基本网址,据我所知,它适用于任何代码类似href="...
的链接,但不适用于include
命令调用的文件。
<base href="http://.../www/" target="_blank">
例如,假设我是基本URL指定的目录中的一个目录。例如,基目录包含helper.css
和名为includes
的文件夹,其文件为sidebmenu.htm
。页面上的代码是一个目录下来
`<link href="helper.css" media="screen" rel="stylesheet" type="text/css">`
将加载helper.css
。同样,正确调用基本目录中的其他页面和任何子文件夹的任何链接。
然而,
<!--#include file="includes/sidemenu.htm"-->
../
上一个目录,否则将无效
<!--#include file="../includes/sidemenu.htm"-->
然后它会工作。
是否有类似于<base>
的内容会使include
相对于同一基本目录调用文件的路径?
答案 0 :(得分:0)
<--!#include
是服务器端包含的。这意味着服务器已经导入HTML并将组合文件作为一个响应返回。那里的路径不是网址,而是实际的文件路径(也就是说,如果你像你一样使用file
属性)到服务器上的html模板文件。所以你甚至可以在文档根目录之外包含文件,也就是说,如果你的服务器允许它(显然是Apache does not)。
<base>
标记用于为浏览器的后续请求设置基本网址,例如图片网址和css文件。
作为旁注,也许你对HTML5 client side includes感兴趣。这是一种不同的方法,没有替代SSI,而browser support是非常差的atm。但有趣的阅读材料。 ;)