PHP获取地址,如浏览器地址栏中所示

时间:2013-07-12 21:04:16

标签: php

我正在寻找一种方法来获取页面地址,确切地说它是如何在浏览器的地址栏中显示的。

我的网站基本上是一个PHP脚本,我的目标是确定用户是使用http://mysite.com还是http://www.mysite.com还是只使用mysite.com或www.mysite.com来访问该网站。我希望使用此信息重定向链接,以便它采用单一格式。这是我正在使用的一些第三方工具所必需的。

所以我要问的是,是否可以获取网站的网址,在PHP中确切地说是浏览器的请求方式。

3 个答案:

答案 0 :(得分:3)

您可以通过www.mysite.com查看mysite.com$_SERVER['HTTP_HOST']之间的区别,但浏览器会自动将http://添加到网址中(有些浏览器会隐藏它)从用户那里获取不必要的信息)因此无法知道他们实际输入的内容。

答案 1 :(得分:2)

HTTP请求的前两行如下所示:

GET /index.php
Host: www.mysite.com

第一行指定本地资源(通常是您的Web目录中的文件),第二行指定用户输入的用于查找站点的主机名(这对于运行多个虚拟Web主机的服务器尤其有用)。 PHP允许您提取这两个:

$_SERVER['HTTP_HOST']
$_SERVER['PHP_SELF']

从技术上讲,$_SERVER['PHP_SELF']指定当前PHP脚本相对于此Web主机根目录的文件路径,但实际上应该与HTTP请求第一行上列出的资源相同

正如其他回复所提到的那样,没有办法判断用户是否输入了http://

答案 2 :(得分:0)

您无法确定用户是否键入了http://或直接从PHP中删除了它。 PHP只能告诉最终的域名($_SERVER['HTTP_HOST'])。其他功能在浏览器中处理。