我使用以下代码来获取完整的URL:
$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
问题是我在.htaccess
中使用了一些掩码,所以我们在URL中看到的并不总是文件的真实路径。
我需要的是获得网址,什么是在网址中写的,没有更多也没有少-完整的网址。
我需要获取它在web浏览器的导航栏中的显示方式,而不是文件在服务器上的真实路径。
发布于 2012-04-24 21:30:04
下面是一个使用ternary statement的解决方案,使代码保持最少:
$url = "http" . (($_SERVER['SERVER_PORT'] == 443) ? "s" : "") . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
假设您的web服务器使用HTTPS的标准端口443,这是最小也是最简单的方法。
发布于 2014-05-18 09:54:08
我最喜欢的跨平台查找当前URL的方法是:
$url = (isset($_SERVER['HTTPS']) ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
发布于 2015-12-09 17:07:49
只需使用:
$uri = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']
https://stackoverflow.com/questions/6768793
复制相似问题