如何在PHP中获取完整的URL

0 投票
最新提问 6月 5 用户: 蓝色河 (180 分)

我使用这段代码来获取完整的URL:

$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

问题是我在.htaccess中做了URL映射,所以在URL中看到的并不总是文件的真正路径。

我需要的是获取地址栏中的URL,完整的URL。

我需要在Web浏览器中的导航栏中显示它,而不是服务器上文件的真实路径。

1个回答

0 投票
最新回答 6月 5 用户: 晴澈 (290 分)

可以看看$_SERVER['REQUEST_URI'],即

$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

(请注意,双引号字符串语法是完全正确的)

注意:使用这段代码有安全隐患。客户端可以将HTTP_HOST和REQUEST_URI设置为所需的任意值。

如果要检测是不是https可以用下面的代码

'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}/{$_SERVER['REQUEST_URI']}"
欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...