HTML中位置字符串背后的逻辑

时间:2011-08-08 12:47:10

标签: html

在HTML中,有许多页面链接指向子目录,让我们考虑一下

href="Dir/Subdir/Subdir2/index.html"

但是,在某些页面上,子目录中的文件中的链接指向同一级别的不同子目录,就好像它位于相对子目录中一样。换句话说,

Dir/Subdir/Subdir2/index.html

将包含

a href="Subdir/Subdir3333/index.html"

实际上指向

Dir/Subdir/Subdir3333/index.html.

我认为这是错误的,但传统浏览器指向正确的位置。 我一直在寻找一个解决方案,虽然我找不到答案。

您能否指出HTML文档的特定部分,它解释了相对位置的工作原理?

由于

2 个答案:

答案 0 :(得分:0)

您可以在HTML文档的头部定义基本href属性,使所有相对URL从此BASE URL开始。

请参阅here

否则,相对路径与文件系统路径的工作方式相同。 /到根(域)和../上一个目录。

答案 1 :(得分:0)

摘自W3 specification:

  

用户代理必须根据[RFC1808]第3节计算解析相对URI的基URI。下面介绍[RFC1808]如何专门应用于HTML。

     

用户代理必须根据以下内容计算基URI   优先级(最高优先级到最低优先级):

     
      
  • 基本URI由BASE元素设置。

  •   
  • 基本URI由协议期间发现的元数据给出   交互,例如HTTP标头(参见[RFC2616])。

  •   
  • 默认情况下,基URI是当前文档的URI。不是全部   HTML文档具有基URI(例如,有效的HTML文档可以是   出现在电子邮件中,可能不会由URI指定)。这样的HTML
      如果文档包含相对URI和
    ,则认为它们是错误的   依赖于默认的基本URI。

  •