html <base />标记引用本地文件夹

时间:2013-08-26 09:46:40

标签: html

我正在尝试使用基本标记设置本地站点根目录。以下代码无效。难道我做错了什么?如何将mysite文件夹设置为基础?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <base href="file:///home/me/mysite"></base>
      <title> Asset Take On Process </title>
      <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
      <link rel="stylesheet" type="text/css" href="/css/main.css" />
    </head>
    <body>
      some stuff
    </body>
  </html>

网站文件夹结构

mysite
   |___css
   |___img
   |___js

依旧......

当我加载网页时,根本看不到main.css文件夹中的css

3 个答案:

答案 0 :(得分:5)

正确的标签是

<base href="file:///home/me/mysite/"/>

如果您希望将file:///home/me/mysite/设置为基地址,那么例如css/main.css是指file:///home/me/mysite/css/main.css。请注意斜杠的重要性。在href中的base值中,忽略最后一个斜杠之后的任何内容:file:///home/me/mysite表示与file:///home/me/相同。

这是一个令人困惑的话题,一些浏览器的实现可能会支持值中的相对URL,这进一步混淆了它;根据规范,只允许使用绝对URL。

通常没有理由使用base元素。诸如css/main.css../css/main.css之类的相对URL工作正常,指定地址相对于HTML页面的地址。这意味着如果将站点上载到服务器上,则无需更改它们。

答案 1 :(得分:4)

如果删除那个/,它应该使它相对于当前路径,当存在基本标记时,

http://localhost/website/.

您还需要在href的末尾添加一个尾随/,以表明它是一个文件夹。

完整的工作示例:

<!doctype html>
<html>
<head>
<base href="/test/" />
<script src="assets/test.js"></script>
<body>
hi
</body>
</html>
  • 实际上,取决于你问的是谁,它仍然是相对的,因为它相对于当前域。但我更喜欢称之为绝对,因为它表示路径来自根,基于当前域。虽然,我认为从技术上讲,这使得它在宏观方案中相对而言,并且仅在当前领域方面是绝对的。不管。

请参阅此链接

http://social.msdn.microsoft.com/Forums/ie/en-US/c51bb8b9-40ab-437b-a125-88b660f3e1ca/ie8-base-tag-issues

答案 2 :(得分:3)

只是为了澄清其他答案:

基本标记必须以斜杠结尾。 以下网址不得以斜杠开头:

这是合乎逻辑的,因为将它们加在一起会形成一个完整的地址。但这是违反直觉的,因为我们习惯使用/images/image.jpg让事情无处不在。