我正在寻找一种方法来获取页面地址,它在浏览器地址栏中的显示方式完全相同。
我的网站基本上是一个 PHP 脚本,我的目标是确定用户是使用http://mysite.com还是http://www.mysite.com 还是只使用 mysite.com 或 www.mysite.com 来访问该网站。我希望使用这些信息来重定向链接,使其采用单一格式。这是我正在使用的一些第三方工具所必需的。
所以我要问的是是否可以在 PHP 中获取网站的 url,这正是浏览器请求它的方式。
我正在寻找一种方法来获取页面地址,它在浏览器地址栏中的显示方式完全相同。
我的网站基本上是一个 PHP 脚本,我的目标是确定用户是使用http://mysite.com还是http://www.mysite.com 还是只使用 mysite.com 或 www.mysite.com 来访问该网站。我希望使用这些信息来重定向链接,使其采用单一格式。这是我正在使用的一些第三方工具所必需的。
所以我要问的是是否可以在 PHP 中获取网站的 url,这正是浏览器请求它的方式。
您可以通过查看和 来区分www.mysite.com
和,但是浏览器总是会自动添加到 URL(并且一些浏览器将其作为不必要的信息对用户隐藏),因此无法知道他们实际输入的内容。mysite.com
$_SERVER['HTTP_HOST']
http://
HTTP 请求的前两行如下所示:
GET /index.php
Host: www.mysite.com
第一行指定本地资源(通常是您的 web 目录中的文件),第二行指定用户输入的主机名来查找您的站点(这对于运行多个虚拟 web 主机的服务器特别有用)。PHP 允许您提取这两个:
$_SERVER['HTTP_HOST']
$_SERVER['PHP_SELF']
从技术上讲,$_SERVER['PHP_SELF']
指定当前 PHP 脚本相对于该 Web 主机的根目录的文件路径,但实际上应该与 HTTP 请求第一行中列出的资源相同。
正如其他回复所提到的,没有办法判断用户是否输入了http://
。
您无法确定用户是键入 http:// 还是直接从 PHP 中退出。PHP 将只能告诉最终的域名 ( $_SERVER['HTTP_HOST']
)。其他功能在浏览器中处理。