2017-07-16 89 views
-1

我是HTML世界的新手。无法从客户端访问服务器HTML代码中的“href = http:// localhost/~~~”的链接

我创建了一个“example.html的”在服务器网页,
其中包含以下标签链接。

... 
<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> 
... 

如果我打开这个"http://localhost/example.html"页面上服务器的Web浏览器,点击链接(链接1〜LINK3),他们的工作。

问题是,他们不能在客户端的Web浏览器上工作。

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

暂时,我改变
在服务器代码的每一个环节,"http://localhost/~~~.html"
"http://myaddress.com:1234/~~~.html"解决了这个问题。

不过,我想启用客户端来访问写成"http://localhost/~~~.html"

是它的端口转发的问题在服务器代码的每一个环节?或者是其他东西?

非常感谢。

+1

如果浏览器位于远程计算机上,它不知道您的本地主机。 DNS解析不能像这样工作。 – dmitryro

回答

1

这应该可以解决问题,你不需要在你的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> 

OR

尝试的端口连接到本地主机的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>

+0

谢谢。欣赏它 –

0

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

<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中时,它总是在本地机器上查找这些文件。由于这些文件存在于服务器上,因此它们可以从服务器的浏览器上运行,但是在其他计算机上运行它们时,它们会失败,因为该文件不存在于其他计算机上。

相关问题