背景
我有一个为我们的营销团队设置的小网站,它与我们的核心网站配置在同一台服务器上。该网站已在marketing.lan
中设置为Apache
。我们已配置了一些内容,以便通过/marketing
网址向我们的核心网站发出的任何请求都会加载marketing.lan
页面。例如:
将指向test.php
网站上的marketing.lan
脚本。没有重定向,浏览器URL仍然是
www.coresite.com/marketing/test.php。
Apache通过将主机设置为marketing.lan来执行此操作,以通过“www.coresite.com/marketing/”URL进行所有请求。
问题
问题在于,当我尝试通过使用$_SERVER['HTTP_HOST']
获取网页时,即使浏览器显示正确的网址,我也会marketing.lan/test.php
而不是www.coresite.com/marketing/test.php
。< / p>
问题 是否有可能获得脚本被访问的实际'URL?或者这是Apache隐藏的吗?我该怎么做。
答案 0 :(得分:1)
这两个网站都位于相同的服务器(可能是Linux机器)
www.coresite.com
有一个DocumentRoot
/var/www/coresite.com/
marketing.lan
有一个DocumentRoot
/var/www/marketing.lan/
您现在希望marketing.lan
作为www.coresite.com
的子网站,以便 http://www.coresite.com/marketing/ 显示 {{3}的内容} 强>
无需修改其各自的apache配置;只需创建一个symlink
。
ln -s /var/www/marketing.lan /var/www/coresite.com/marketing
这将回答您的问题:
如果您的test.php
有一行echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
转到网址http://www.coresite.com/marketing/test.php
会显示
<强> www.coresite.com/marketing/test.php
强>
转到网址http://marketing.lan/test.php
会显示
<强> marketing.lan/test.php
强>