2013-07-12 90 views
0

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

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

所以我askin是如果有可能得到一个网站的网址,在PHP完全如何浏览器请求它。

回答

3

您可以通过查看$_SERVER['HTTP_HOST']告诉www.mysite.commysite.com之间的差别,但是浏览器总是会自动添加http://到URL(和一些浏览器隐藏它从用户的不必要的信息),所以没有办法知道他们在实际键入

+0

谢谢。虽然这可能证明是足够的。所以我会将你的回答标记为答案。 –

0

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

+0

完全错误。 –

+0

我完全错了吗?提供一个例子,您可以告诉用户是否在地址栏中键入http://以仅使用PHP访问您的网站。 –

+0

对不起,是的。只是重新阅读这个问题。如果你要编辑你的问题,我会删除downvote。 –

2

前两个HTTP请求的线条看起来像:

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

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

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

技术上,$_SERVER['PHP_SELF']指定相对于这个虚拟主机的根目录下的当前的PHP脚本的文件路径,但应该在实践中,相同的资源列在HTTP请求的第一行。

正如其他回复所述,无法判断用户是否输入了http://

相关问题