我正在家里托管一个网站。我的系统有两层:一个 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 等的最佳方法是什么?
提前谢谢了,
彼得。