Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取用户代理请求URL_Php_Apache_Url - Fatal编程技术网

PHP获取用户代理请求URL

PHP获取用户代理请求URL,php,apache,url,Php,Apache,Url,背景 我有一个为我们的营销团队设置的小网站,它与我们的核心网站配置在同一台服务器上。该站点已在Apache中设置为marketing.lan。我们已经配置了一些东西,以便通过/marketingurl向我们的核心站点发出的任何请求都可以加载marketing.lan页面。例如: 将指向marketing.lan站点上的test.php脚本。未执行重定向,浏览器URL仍将为空 www.coresite.com/marketing/test.php Apache通过将通过“www.coresite

背景

我有一个为我们的营销团队设置的小网站,它与我们的核心网站配置在同一台服务器上。该站点已在
Apache
中设置为
marketing.lan
。我们已经配置了一些东西,以便通过
/marketing
url向我们的核心站点发出的任何请求都可以加载
marketing.lan
页面。例如:

将指向
marketing.lan
站点上的
test.php
脚本。未执行重定向,浏览器URL仍将为空

www.coresite.com/marketing/test.php

Apache通过将通过“www.coresite.com/marketing/”URL发出的所有请求的主机设置为marketing.lan来实现这一点

问题

问题是,当我尝试获取URL时,页面是通过
$\u服务器['HTTP\u HOST']
访问的,即使浏览器显示正确的URL,我也得到
marketing.lan/test.php
而不是
www.coresite.com/marketing/test.php

问题 是否可以获取脚本访问的实际“URL”?或者这是Apache隐藏的?我该怎么做。

我的理解是:
  • 两个站点都在同一台服务器上(可能是一台Linux机器)

  • www.coresite.com
    有一个
    DocumentRoot
    类似于
    /var/www/coresite.com/

  • marketing.lan
    有一个
    DocumentRoot
    类似于
    /var/www/marketing.lan/

  • 您现在希望
    marketing.lan
    作为
    www.coresite.com
    的子站点,以便显示的内容


  • 如何做到这一点 不需要修改它们各自的apache配置;只需创建一个
    符号链接

    ln -s /var/www/marketing.lan /var/www/coresite.com/marketing
    
    这将回答您的问题

    如果您的
    test.php
    有一行
    echo$\u服务器['HTTP\u主机].$\u服务器['REQUEST\u URI']

    • 转到url
      http://www.coresite.com/marketing/test.php
      将显示

      www.coresite.com/marketing/test.php

    • 转到url
      http://marketing.lan/test.php
      将显示

      marketing.lan/test.php


    服务器['HTTP\u HOST']
    的值来自主机的配置,而不是请求
    任何通过/marketing url发送到我们核心站点的请求都将加载marketing.lan页面。
    如何完成?您可以在该请求中添加一些附加信息。尝试使用$\u服务器['request\u URI']我与系统管理员聊天,他们已将Apache配置为将主机更改为marketing.lan。对于从coresite.com/marketing.Jay传入的所有请求,request\u URI将只返回URL的请求位,而不是域。@Cheery-否,
    HTTP\u-HOST
    反映了客户端()发送的
    HOST:
    请求头的内容。您可能正在考虑
    SERVER\u NAME