【问题标题】:Subdomain similar to $_SERVER['SERVER_NAME']; for redirect?子域类似于 $_SERVER['SERVER_NAME'];重定向?
【发布时间】:2012-07-30 18:57:59
【问题描述】:

我有一个通过自定义 php 文件重定向的表单(使用重力表单构建)。

如果我将重定向到“/custom_redirect.php”,表单会将我发送到“http://www.subdomain.mydomain.com/:/custom_redirect.php”,这会导致 404,因为“/: " 或 ":/" 但是你想看看它。

如果我通过“http://www.mydomain.com/custom_redirect.php”获取它,它会正常工作。但我需要先获取它们来自的 URL,以便将其包含在

header( 'Location: .........')

如果我抓住

$x = $_SERVER['REQUEST_URI'];
$y = $_SERVER['SERVER_NAME'];

他们打印

(x).... /custom_redirect-x.php?JOHN+DOE&title=FOO+BAR
(y).... www.mydomain.com

类似于 $y, "$_SERVER['SERVER_NAME'];",

...有没有办法抓住子域,所以我可以结束

(y).... www.SUBDOMAIN.mydomain.com

【问题讨论】:

  • 你能张贴表格吗?您可能想查看$_SERVER['HTTP_REFERER'] 并对其进行解析
  • $_SERVER['HTTP_REFERER'] 的问题是它完全不可靠
  • 即使是parse_url($_SERVER['HTTP_REFERER']) (php.net/manual/en/function.parse-url.php)
  • parse_url($_SERVER['HTTP_REFERER']) 可能是parse_url(''),因为HTTP_REFERER 并不总是设置。旧浏览器不使用它,用户代理可以更改它(甚至根本不提供)
  • 做一个var_dump($_SERVER),看看你是否能在这些值中看到你需要的变量。

标签: php redirect


【解决方案1】:

你想看看parse_url$_SERVER['HTTP_REFERER']结合在一起

 $info = parse_url($_SERVER['HTTP_REFERER']);
 echo $info['host'];

【讨论】:

  • 我添加了该字符串以查看结果并得到(z)=www.mydomain.com,没有前一个url的子域:/
  • http://www.subdomain.mydomain.com/ 有表格。它需要通过http://www.mydomain.com/custom_redirect.php 重定向。使用$_SERVER['HTTP_HOST'] 只为我提供www.mydomain.com,无子域。
猜你喜欢
  • 2011-07-16
  • 2023-04-04
  • 2011-04-22
  • 2010-11-17
  • 2018-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-14
相关资源
最近更新 更多