为什么由一个简单的正斜杠组成的 HREF 会指向主页?

Why does an HREF consisting of a plain forward slash direct to the homepage?

我遇到了一个 HTML 锚点,上面写着 <a href="\">Home</a>

通常我们会放类似 <a href="index.php">Home</a> 的东西,但是当我点击 <a href="\">Home</a> 时,我可以转到网站的索引页面。

我无法在本地主机上复制该行为。

为什么 \ 指向网站的主页,这是开发人员故意的吗?

你是对的,这是不正确的,而且几乎可以肯定这不是故意的。反斜杠 (\) 在 URL 中是 considered unsafe,如果在 URL 中需要反斜杠,您通常必须将其编码为 %5C

为什么有效

正如 Rocket Hazmat pointed out in a 在您的问题中,大多数浏览器会在 URL 中自动将 / 替换为 \

所以link到\转换为/,请求当前服务器的root。服务器可能设置为在收到目录请求时提供一些默认文件,如 index.php,结果是加载主页。

为什么它在 localhost 中不起作用

我不知道您的本地 HTTP 服务器设置,但很可能它没有配置为在收到目录请求时提供特定页面(如 index.php)。因此,您可能只是看到一个目录列表,其中包含您在本地 运行 本地的本地 http 服务器的根目录。