【发布时间】:2018-09-25 16:56:02
【问题描述】:
我遇到了一个简单但令人沮丧的问题。我的网站上有一个徽标,我想将其链接回网站的主页。如果我执行 href="index.html" 它可以工作,但是当我尝试执行 href="/" 时,我相信它也应该可以工作,它会将我带到我计算机的字面根目录。
例如,如果我有 href="/" 然后单击我的徽标,它会将我定向到此处:
一旦托管在服务器上,这种情况会得到缓解吗?任何对此行为的见解将不胜感激。
【问题讨论】:
标签: html
我遇到了一个简单但令人沮丧的问题。我的网站上有一个徽标,我想将其链接回网站的主页。如果我执行 href="index.html" 它可以工作,但是当我尝试执行 href="/" 时,我相信它也应该可以工作,它会将我带到我计算机的字面根目录。
例如,如果我有 href="/" 然后单击我的徽标,它会将我定向到此处:
一旦托管在服务器上,这种情况会得到缓解吗?任何对此行为的见解将不胜感激。
【问题讨论】:
标签: html
你是对的,“/”的 href 是提供文件的根目录,在这种情况下是您的本地文件系统。
但是,我确实相信将 href 设置为“index.html”或“/index.html”会稍微优化性能,因为“/”无论如何都会解析为“index.html”。
我还建议您将本地环境设置为拥有本地服务器,在该服务器上提供文件,而不仅仅是由您的浏览器读取。 MAMP 是一种简单的方法来做到这一点。
【讨论】:
是的,只有当您从文件系统而不是本地或远程服务器查看站点时才会出现此问题。
如果您想阻止这种情况,您可以使用相对路径而不是绝对路径。例如:
如果您在/photos/index.html 上并且希望您的标题徽标转到/,您的链接可以是:../ 上一个目录。
如果您在 /index.html 上并且希望您的标题徽标指向当前目录,您的链接可以是:./ 以保留在当前文件夹级别。
【讨论】:
您还可以添加此选项以禁用目录列表并显示 index.html 的内容
使用以下内容创建一个.htaccess 文件:
Options -Indexes
或者您可以在<VirtualHost> 指令中使用此选项。
【讨论】:
你想做的可以通过:
<a href = "./"></a>
进一步参考
https://www.w3schools.com/tags/att_a_href.asp
https://html.com/attributes/a-href/#Different_URL_Forms
这个问题已经回答了
【讨论】: