在使用<base>标签的链接上是否可以使用空href?

3

我将基础标签设置为:

<base href="http://mnapoli.github.com/PHP-DI/">

接下来我想要创建一个指向相对路径http://mnapoli.github.com/PHP-DI/的链接。

我尝试过:

<a href="">link</a>

它在Chrome中运行良好,但这种方法是否标准并且应该在每个浏览器上都能正常工作?


1
据我所知,如果在子目录中使用这样的空链接,即使使用基础标签,您也将返回到该子目录的索引页面。为了始终(即无论您在哪个子文件夹中)创建到http://mnapoli.github.com/PHP-DI/的链接,即使使用基础标签,您也应该使用<a href="/">link</a>- 我想。 - Stefan
不要使用base标签,至少我尝试时是这样的。访问http://mnapoli.github.com/PHP-DI/doc/,编辑(使用Firebug或其他工具)“主页”链接为空href并单击它。您将正确地重定向到主页。 - Matthieu Napoli
要明确一点,我正在尝试摆脱“索引”链接,这些链接会导致URL重复出现/index(例如http://mnapoli.github.com/PHP-DI/index)。 - Matthieu Napoli
你似乎是正确的。我在本地测试过(使用wamp服务器)。我指定了<base href = 'http:// localhost /'>。我在http:// localhost / temp / index.php'中创建了一个带有href = ''`的链接。当我点击链接时,我会返回到http:// localhost / index.php。当我改变href ='/'时,我也会返回到http:// localhost / index.php。在FireFox和IE中都是如此。 - Stefan
奇怪的是,这似乎对表单提交不起作用 - 我刚刚测试了一下。如果你有一个带有 action='' 的表单并使用基础标签,你会返回到相同的位置而不是根文件夹。但是,如果你更改 action='/' 并点击提交,你将返回到根文件夹。 - Stefan
你不需要使用基础标签来消除“index”链接...?只需使用根相对链接,如href='/'href='/home/'或相对链接,如href='../' - Stefan
2个回答

3
我会这样做:
<base href="http://mnapoli.github.com/PHP-DI/">

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

3
尽管Mike的回答中建议使用href="./"更好(更易于阅读代码),但是对于所提出的问题,使用空URL是标准的,并且应该在所有浏览器上正常工作。根据STD 66的规定,允许使用没有字符(path-empty)的相对URL,并且根据相对URL的规则,它将被解析为基本URL。
这与文件夹或文件无关;URL是字符串,它们是否映射到服务器上的文件夹或文件取决于服务器的自主权。

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