我有一个防火墙后面的apache2服务器。 外部地址是24.89.xxx.xxx,内部地址是10.10.58.1
服务器的主机名是“myhost”。 我没有24.89.xxx.xxx地址的DNS条目,因为它还没有生效。 将parsing为它的域名目前正在使用现有的网站。
我希望web-dev团队能够通过24.89.xxx.xxx地址访问该站点。 但是,每当他们查看该站点时,所有的URL都会将本地主机名插入到其中。
所以, <a href="index.php?id=9">Link</a>产生一个http://myhost/index.php?id=9的URL。不过,我希望它产生一个URL的http://24.89.xxx.xxx/index.php?id=9
Apache安装在Debian Lenny上。 我正在使用“默认”网站。 我尝试过将NamedVirtualHost设置为IP,ServerName设置为IP,UseCanonicalName off,VirualHost等。我所做的每件事情都不会产生任何变化。 是的,我每次都重新加载configuration。
我也试过去掉防火墙,得到了同样的结果。 我还对/ etc / hosts文件进行了一些更改。
/ etc / hosts中:
127.0.0.1 localhost 10.10.58.1 myhost 24.89.xxx.xxx www.inusedomain.org
仔细阅读,我认为这可能是一个PHP的问题。 一般来说,你需要在一个网站的configuration中设置某种“ 基本URL ”,所以php知道如何创build所有的链接(“Over the urls”)。 寻找一个config.php ,或类似的东西在网站的根目录。
如果你有不好的开发者,可能不是在一个单一的variables,并在所有的地方。 要find它,或者在一个地方find它,可以使用grep -Ri --include='*.php*' 'localhost' * ,把localhost改为当前被覆盖的东西。
不完整的答案:
我不完全确定,但我想我记得绑定一个虚拟主机到特定的IP,或更改listen指令需要重新启动,而不仅仅是一个正常的重新启动或configuration重新加载。
我可以保证问题不是apache。 你应该看看什么是生产你的HTML内容…即。 PHP等