1

我正在家里托管一个网站。我的系统有两层:一个 Web 服务器(运行 Ubuntu 11.04),它通过端口 80 转发,并且在 var/www 上只有 index.php 和一个应用程序服务器(运行 Ubuntu 11.10),它拥有其他所有内容,并且设置为与 web 层服务器对话。

index.php 具有以下代码行。

 <li><a href="192.168.1.4/about.php">About</a></li>

这是一个应该调用 about.php 的菜单项,它位于本地 IP 地址为 192.168.1.4 的应用程序服务器上的 var/www 中。但是,当我单击与此菜单项关联的按钮时,它会尝试访问http://localhost/192.168.1.4/about.php并给出错误消息

 The requested URL /192.168.1.4/about.php was not found on this server.

如果我转到地址框并手动删除http://localhost/部分,那么地址框只会显示 192.168.1.4/about.php 然后应用服务器上的 about.php 页面会显示。随后,当我单击与 index.php 关联的菜单按钮时,一切正常。似乎它首先将http://localhost/添加到指定的地址,直到我手动删除它,然后默认将其保留。

当我尝试从另一台计算机访问我的站点时,真正的问题出现了。我输入我的域名,说whatever.com,然后index.php 页面出现。但是,当我单击菜单按钮时,它会尝试访问http://whatever.com/192.168.8.1.4/about.php并给出错误消息。当我转到 URL 框并手动删除http://whatever.com/时,一切正常。但是我不希望用户必须这样做。另外,我是在家庭网络上的另一台计算机上执行此操作的,所以我不确定远程计算机会发生什么。

让 index.php 文件简单地使用 192.168.1.4/about.php 而不是 localhost/192.168.1.4/about.php、whatever.com/192.168.1.4/about.php 等的最佳方法是什么?

提前谢谢了,

彼得。

4

1 回答 1

3

您忘记在 URL 中添加方案。采用:

<li><a href="http://192.168.1.4/about.php">About</a></li>

或者:

<li><a href="//192.168.1.4/about.php">About</a></li>
于 2012-05-05T20:13:20.933 回答