PHP:在href Path中摆脱localhost和域名

时间:2012-05-05 20:11:43

标签: php web-hosting

我在家里主持一个网站。我的系统有两层:一个Web服务器(运行Ubuntu 11.04),它是通过端口80转发的端口,在var / www上只有index.php,还有一个应用服务器(运行Ubuntu 11.10),其中包含其他一切,并且只设置为与网络层服务器交谈。

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,无论如何使用http://www.192.168.1.4/about.php等,最好的方法是什么?

非常感谢,

彼得。

1 个答案:

答案 0 :(得分:3)

您忘记在网址中添加方案。使用:

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