是否有等效于“<base>”的文件路径?

Is there an equivalent to '<base>' that works for file paths?

我有一个基础 url,据我所知,它适用于任何具有类似 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。同样,任何指向基本目录和任何子文件夹内其他页面的 links 都被正确调用。

然而,

<!--#include file="includes/sidemenu.htm"-->

将无法工作,除非我使用 ../ 向上一个目录

<!--#include file="../includes/sidemenu.htm"-->

然后就可以了。

是否有类似于 <base> 的东西可以使 include 调用的文件的路径相对于同一基本目录?

<--!#include 是服务器端包含。这意味着服务器已经导入 HTML 和 returns 组合文件作为一个响应。那里的路径不是 url 而是服务器上 html 模板文件的实际文件路径(也就是说,如果你像你一样使用 file 属性)。因此,您甚至可以包含来自文档根目录之外的文件,也就是说,如果您的服务器允许的话(显然 Apache does not)。

<base>标签是为浏览器的后续请求设置一个基础url,例如图像urls和css文件。

附带说明一下,也许您对 HTML5 client side includes. This is a different method, no drop in replacement for SSI, and browser support 很差的 atm 感兴趣。不过,有趣的阅读 material。 ;)