锚标记中的URL差异

时间:2016-02-15 14:35:40

标签: html asp.net

以下html链接之间有什么区别

<a href="home.aspx">
<a href="../home.aspx">
<a href="~/home.aspx">

1 个答案:

答案 0 :(得分:2)

  

&lt; a href =&#34; home.aspx&#34;&gt;

重定向到home.aspx,其中home与当前页面位于相同的路径位置。我可以说,当我在http://example.com/subpath/about.aspx时点击该链接,我会被重定向到http://example.com/subpath/home.aspx。同样,对于http://example.com/subpath/subpath/about.aspx,我会被重定向到http://example.com/subpath/subpath/home.aspx

  

&lt; a href =&#34; ../ home.aspx&#34;&gt;

这与上面的非常类似,但它总是在路径中向上一级。这两个点意味着从这里开始一个级别&#34;。使用相同的例子:

如果需要,您也可以多次使用它,例如<a href="../../home.aspx">

  

&lt; a href =&#34;〜/ home.aspx&#34;&gt;

前两个是浏览器理解和支持的标准内容。这个由ASP.NET处理。代字号(~)指定应用程序的virtual root。这种行为如何完全取决于您的应用程序如何启动以及&#34; root&#34;你的网站是。简而言之,虚拟根意味着&#34; ASP.NET应用程序中的顶级位置&#34;。因此,假设您的站点已配置为虚拟根是域,则其行为如下:

相关问题