网站首页链接

32

有没有办法链接到网站的索引页面,而不指定索引页面的名称或完整的网站URL?

我有这个:

<a href="index.htm">Home</a>
但是当我点击链接时,我的地址栏显示:
mydomain.com/index.html
我希望它展示:
mydomain.com

我能否在href中不使用完整的URL(mydomain.com)来实现这个?如果可以,怎样做?

对于未来的观众,我也发现这个问题很有帮助。

3个回答

47
你可以这样做:
<a href="/">Home</a>

任何以斜杠开头的 href 都是相对于根目录的。

需要注意的是,当在浏览器中从本地硬盘查看网页时,这将导致链接无法正常工作。


有没有同样简单的方法来处理子目录?例如,从 mydomain.com/foo/bar.htmlmydomain.com/foo/ - Kendall Frey
您可以使用 <a href="/#foo">链接文本</a> 来链接到页面的特定部分。 - Kwestion

15

我知道这篇帖子已经很老并且有答案了。但是这里是我的贡献,也支持索引不在根目录中的情况

前往

mydomain.com/index.html

不显示index.html在地址栏中

<a href="/">Home</a>

无论您的文件保存在何处,此代码始终指向mydomain.com。

要指向目录中的索引,请使用以下代码:

<a href="./">Home</a>

这将指向 mydomain.com/subdir ,对于 mydomain.com/subdir/index.html,而被接受的答案总是指向 mydomain.com(这并不总是期望的动作)。


在浏览器中从本地硬盘查看网页时,这将导致大多数浏览器显示链接的文件夹。 - metamorphosis
很有趣。但我猜这是因为通过 file:/// 打开 HTML 文件不会自动加载当前目录下的 index.*。 - Eaweb
我不知道我的问题出在哪里。在查看网页的另一部分后,当我单击主页时,它没有跳转到index.html部分。我尝试过:<a href="/">home</a>、<a href="index.html">home</a>,以及<a href="./">home</a>,但都没有起作用。但我注意到,当我点击主页按钮时,链接会在我最后点击的按钮中添加一个“#”是什么意思呢? - Agung Sudrajat
@AgungSudrajatSupriatna 这篇帖子已经过时了,你的评论与我的答案没有真正的关联。获取 # 可能意味着很多事情。 - Eaweb

1
创建一个“.htaccess”文件并上传到您的主机公共文件夹
<IfModule mod_rewrite.c> 
RewriteEngine On

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ 
RewriteRule ^index\.html$ http://www.yourwebsite.com.ph/ [R=301,L]
RewriteCond %{THE_REQUEST} \.html 
RewriteRule ^(.*)\.html$ /$1 [R=301,L]
</IfModule>

这是什么鬼……现在我的网站完全崩溃了。我猜这是因为我把一些我不理解的东西粘贴到了我的 .htaccess 文件中,我活该吧。但是,就算删除了那段有问题的代码,它还是乱了。每个页面都被剥离了 .html,我什么也访问不了。 - GordonM
好的,在清除了所有缓存之后,情况变得更好了。可能是因为我把“yourwebsite”保留下来了,哈哈。但我太害怕再试一次了。现在我无法更改我的踩了。抱歉。 - GordonM

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接