我有一个问题,虽然我可以找到相关信息,但我想这是否正是我想知道的。
问题是,我在 http://localhost/site
上找到了一个网站.
现在,当我创建一个链接时,比方说,<a href="/posts">
, 它链接到 http://localhost/posts
而不是 http://localhost/site/posts
.
如果我删除斜杠( <a href="posts">
),它工作正常,这将是最接近且可能是最简单的解决方案,但我想知道为什么链接忽略文件所在的文件夹?
而且我还想知道是否可以使用 .htaccess 或其他方式解决此问题。
我读到以/开头的链接使其成为“绝对”链接。所以以/开头的链接仅用于直接链接到根目录,或供存储在根目录的站点使用(在这种情况下它没有多大意义?)?
最佳答案
URL 开头的前导“/”通知 Web 浏览器给定的路径是绝对(相对于 Web 服务器根目录),即如果您链接到 /posts
然后您知道生成的链接将指向 http://www.mysite.com/posts
。
如果您不提供前导“/”(并且您不提供完整的 url,例如 http://www.mysite.com/posts
),那么通常 url 是 < strong>relative,任何给定的页面都将与当前正在查看的页面相关。
例如:
page being viewed link url target page
------------------------------------------------------------------------------
www.mysite.com/site link.html www.mysite.com/site/link.html
www.mysite.com/site ../link.html www.mysite.com/link.html
www.mysite.com/some/other/page link.html www.mysite.com/some/other/page/link.html
www.mysite.com/some/other/page ../../../link.html www.mysite.com/link.html
使用绝对链接还是相对链接完全由您决定 - 相对链接的优点是,如果您的网站发生移动,您网站上页面之间的链接仍将正常工作(例如,如果您的网站移动到 www.mysite.com/otherpath
,那么任何绝对链接如 www.mysite.com/originalpath/home
将不再有效。
您应该查看以下站点以获得相对 URL 的更完整解释:
关于html - HTML 和 CSS 的基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5149966/