小编典典

有相对于​​根的链接?

all

有没有办法让页面上的所有链接都相对于根目录?

例如,www.example.com/fruits/apples/apple.html我可以有一个链接说:

<a href="fruits/index.html">Back to Fruits List</a>

这个链接会指向www.example.com/fruits/apples/fruits/index.htmlwww.example.com/fruits/index.html吗?如果是第一个,有没有办法让它指向第二个?


阅读 231

收藏
2022-07-30

共1个答案

小编典典

相对于根的 URL 以/字符开头,看起来像<a href="/directoryInRoot/fileName.html">link text</a>.

您发布的链接:<a href="fruits/index.html">Back to Fruits List</a>链接到位于名为fruits的目录中的 html 文件,该目录与出现此链接的 html 页面位于同一目录中。

要使其成为根相对 URL,请将其更改为:

<a href="/fruits/index.html">Back to Fruits List</a>

*针对来自 OP 的评论中的问题进行 *编辑:

这样做 / 会使它相对于 www.example.com,有没有办法指定根是什么,例如,如果我希望根在 www.example.com/fruits/
中是 www.example.com/fruits 怎么办苹果/apple.html?

是的,在hrefsrc属性中的 URL 前面加上 a/将使路径相对于根目录。例如,给定 html
页面www.example.com/fruits/apples.htmlahref="/vegetables/carrots.html"将链接到该页面www.example.com/vegetables/carrots.html

basetag元素允许您为该页面指定
base-uri(尽管必须将标签base添加到需要使用特定基础的 每个 页面,为此我将简单地引用 W3 的示例:

例如,给定以下 BASE 声明和 A 声明:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
 <HEAD>
   <TITLE>Our Products</TITLE>
   <BASE href="http://www.aviary.com/products/intro.html">
 </HEAD>

 <BODY>
   <P>Have you seen our <A href="../cages/birds.gif">Bird Cages</A>?
 </BODY>
</HTML>

相对 URI “../cages/birds.gif” 将解析为:

http://www.aviary.com/cages/birds.gif

引用自:http://www.w3.org/TR/html401/struct/links.html#h-12.4
的示例。

推荐阅读:

2022-07-30