我有一个问题,虽然我可以找到相关信息,但如果它正是我想知道的。
问题是,我在http://localhost/site
上找到了一个网站
现在,当我创建一个链接时,我要说<a href="/posts">
,它链接到http://localhost/posts
而不是http://localhost/site/posts
。
如果我删除斜杠(<a href="posts">
),这将是最接近的,也许是最简单的解决方案,但是我想知道为什么链接忽略文件所在的文件夹?
我也想知道是否可以使用.htaccess或其他东西修复。
我读过一个以/开头的链接“绝对”。因此,以/开头的链接仅用于直接链接到根目录,或者由存储在根目录中的站点使用(在这种情况下它没有多大意义?)?
答案 0 :(得分:0)
您的网站根目录为localhost
,但您假设 site
是您的网站根目录。当你使用/它相对于localhost,因为它是一个绝对链接。
答案 1 :(得分:0)
尝试这样做&lt; a href =“../ posts”&gt;
./表示基目录或主目录
.. ..表示一个目录
答案 2 :(得分:0)
网址开头的前导'/'告知网络浏览器指定的路径为绝对(相对于网络服务器根目录),即如果您链接到{{1}然后你知道结果链接将是/posts
。
如果您没有提供前导'/'(并且您没有提供像http://www.mysite.com/posts
那样的完整网址),那么通常网址是相对,并且任何给出的页面都将是与当前正在浏览的页面相关联。
例如:
http://www.mysite.com/posts
是否使用绝对或相对链接的决定完全取决于您 - 相对链接的优势在于,如果您的网站移动,您网站上的网页之间的链接仍然可以正常工作(例如,如果您的网站移至{ {1}},那么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
之类的绝对链接将不再有效。
您应该看到以下网站,以获得有关相对网址的更完整说明: