【发布时间】: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),看看你是否能在这些值中看到你需要的变量。