无法从客户端访问服务器 HTML 代码中 "href=http://localhost/~~~" 的链接

Links of "href=http://localhost/~~~" in HTML code at server cannot be reached from client

我是 HTML 世界的新手。

我在服务器上创建了一个"example.html"网页,
其中包含以下 一个标签 link。

...
<nav>
    <ol>
        <li><a href="http://localhost/link1.html">link1</a></li>
        <li><a href="http://localhost/link2.html">link2</a></li>
        <li><a href="http://localhost/link3.html">link3</a></li>
    </ol>
</nav>
...

如果我在服务器的 Web 浏览器上打开这个 "http://localhost/example.html" 页面并单击 links(link1~link3),它们就会工作。

问题是它们在客户端的网络浏览器上不起作用。

我对我的服务器计算机进行了端口转发,并从客户端打开了 "example.html"
通过 "http://myaddress.com:1234/example.html"

临时改了
解决了 服务器代码中的每个 link,"http://localhost/~~~.html"
"http://myaddress.com:1234/~~~.html"

但是,我想让客户端能够访问服务器代码中的每个 link "http://localhost/~~~.html"

是端口转发的问题吗?还是别的?

非常感谢。

这应该可以解决问题,您的 href 中不需要 localhost。从您的锚标签中删除它们。

<nav>
    <ol>
        <li><a href="/link1.html">link1</a></li>
        <li><a href="/link2.html">link2</a></li>
        <li><a href="/link3.html">link3</a></li>
    </ol>
</nav>

尝试将端口附加到本地主机 href?客户端必须是 运行 它在本地才能工作。

<nav>
    <ol>
        <li><a href="http://localhost:1234/link1.html">link1</a></li>
        <li><a href="http://localhost:1234/link2.html">link2</a></li>
        <li><a href="http://localhost:1234/link3.html">link3</a></li>
    </ol>
</nav>

始终使用相对路径,而不是绝对路径:

<nav>
    <ol>
        <li><a href="link1.html">link1</a></li>
        <li><a href="link2.html">link2</a></li>
        <li><a href="link3.html">link3</a></li>
    </ol>
</nav>

顾名思义,localhost指向本机。所以当你包含它以形成一个绝对 URL 时,它总是在本地机器上寻找那些文件。由于这些文件存在于服务器上,因此它们可以在服务器的浏览器中运行,但是当您 运行 在任何其他计算机上运行时,它们会失败,因为其他计算机上不存在这些文件。