有相对于​​根的链接?

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

例如,在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 ? 如果第一个,有没有办法让它指向第二个呢?

根相对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前缀,使用/将使path相对于根目录。 例如,在www.example.com/fruits/apples.html的html页面中, href="/vegetables/carrots.html"链接将链接到www.example.com/vegetables/carrots.html页面。

base标签元素允许你为该页面指定base-uri(尽pipebase标签将被添加到每个需要使用特定基底的页面,因为我将简单地引用W3的例子:

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

 <!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”将parsing为:

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

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

build议阅读:

使用

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

要么

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

只要把<a href="/">some link<a/> ,这将让你到网站的根

如果您从ASP.NET应用程序服务器端创buildURL,并将您的网站部署到您的网站中的虚拟目录 (例如app2),即http://www.yourwebsite.com/app2/

然后插入

 <base href="~/" /> 

就在标题标签之后。

所以每当你使用相对的,例如

 <a href="/Accounts/Login"/> 

将解决“ http://www.yourwebsite.com/app2/Accounts/Login

这样,你总是可以相对绝对地指向你的文件;)

对我来说,这是最灵活的解决scheme。

为URL提供一个图片标签来定位images/目录中的根目录

 `logo.png` 

你应该提供以/开头的src URL,如下所示:

 <img src="http://img.dovov.comlogo.png"/> 

这个代码在没有任何问题的情况下工作在任何目录下,即使你在branches/europe/about.php也可以看到标志。

使用此代码“./”作为服务器上的根,因为它为我工作

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

但是当你在本地机器上时,使用下面的代码“../”作为根相对path

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