便携式相对URL - 域根目录的文件夹

时间:2009-02-04 17:16:38

标签: html url

我想写一个有效的URL,无论基本URL是否为:

  

http://example.com/myfolder/

     

http://example.com/

E.g。

<a href="other.html">Other</a>

应该去

  

http://example.com/myfolder/other.html

     

http://example.com/other.html

分别

但在两种情况下,他们都会去:

  

http://example.com/other.html

如果基本网址是

,这不是问题
  

http://example.com/myfolder/index.html

     

http://example.com/index.html

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

相对URI总是从基URI解析,如果没有另外明确声明,则基URI是文档的URI(参见base元素)。那么你的案例中的基本URI是什么?

答案 1 :(得分:2)

我怀疑你是用基本网址测试的:

http://example.com/myfolder

(没有斜杠)

如果没有斜杠,浏览器会认为“myfolder”只是一个文件而不是文件夹。因此,单击相对URL将不会进入该文件夹。

http://example.com/myfolder/

如果基本网址是这样,那么它应该按预期工作。

通常,我更喜欢绝对网址,以避免这些令人头疼的问题。几乎我的webapps中的每个链接都是风格:

/myfolder/other.html

总是从任何位置指向同一个地方。

答案 2 :(得分:1)

如果你完全赞同

<a href="other.html">Other</a>

它是一个相对地址,它应该像那样工作。

请记住,当您链接到文件时:

www.example.com/folder/other.html

从:

www.example.com/index.html

您必须将index.html中的链接指定为:

<a href="folder/other.html">Other</a>

也就是说,您必须使用相对地址链接到该文件。

答案 3 :(得分:0)

您是在静态HTML中执行此操作吗? “../other.html”可能是一个安全的赌注(假设你没有得到任何更多的嵌套)。