有没有办法让页面上的所有链接都相对于根目录?
例如,www.example.com/fruits/apples/apple.html我可以有一个链接说:
www.example.com/fruits/apples/apple.html
<a href="fruits/index.html">Back to Fruits List</a>
这个链接会指向www.example.com/fruits/apples/fruits/index.html或www.example.com/fruits/index.html吗?如果是第一个,有没有办法让它指向第二个?
www.example.com/fruits/apples/fruits/index.html
www.example.com/fruits/index.html
相对于根的 URL 以/字符开头,看起来像<a href="/directoryInRoot/fileName.html">link text</a>.
/
<a href="/directoryInRoot/fileName.html">link text</a>
您发布的链接:<a href="fruits/index.html">Back to Fruits List</a>链接到位于名为fruits的目录中的 html 文件,该目录与出现此链接的 html 页面位于同一目录中。
fruits
要使其成为根相对 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?
是的,在href或src属性中的 URL 前面加上 a/将使路径相对于根目录。例如,给定 html 页面www.example.com/fruits/apples.html,a的href="/vegetables/carrots.html"将链接到该页面www.example.com/vegetables/carrots.html。
href
src
www.example.com/fruits/apples.html
a
href="/vegetables/carrots.html"
www.example.com/vegetables/carrots.html
basetag元素允许您为该页面指定 base-uri(尽管必须将标签base添加到需要使用特定基础的 每个 页面,为此我将简单地引用 W3 的示例:
base
例如,给定以下 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 的示例。
推荐阅读: