这个问题的答案是 社区的努力。编辑现有答案以改善此职位。它目前不接受新的答案或互动。
我使用以下代码来获取完整的URL:
$actual_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
问题在于,我在自己的中使用了一些掩码.htaccess,因此我们在URL中看到的并不总是文件的真实路径。
.htaccess
我需要的是获取URL,写在URL中的内容,仅此而已-完整的URL。
我需要了解它在Web浏览器的导航栏中的显示方式,而不是服务器上文件的真实路径。
看一下$_SERVER['REQUEST_URI'],即
$_SERVER['REQUEST_URI']
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
请注意,双引号字符串语法完全正确
如果要同时支持HTTP和HTTPS,则可以使用
$actual_link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
编者注: 使用此代码具有 安全性 。客户端可以将HTTP_HOST和REQUEST_URI设置为所需的任意值。