如何使用PHP获取当前页面的完整URL

19

如何以尽可能少的代码从格式为以下内容的URL查询字符串中获取参数?

我的当前URL:

www.mysite.com/category/subcategory/#myqueryhash

我放置了这段代码

$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

它只返回 www.mysite.com/category/subcategory/

输出应为:

www.mysite.com/category/subcategory/#myqueryhash

这是您调用的URL还是哈希标签URL仅在单击“链接”时显示? - Top Questions
你可以使用 window.location.hashparse_url([your url]) 来从 URL 中获取 #myqueryhash - Kausha Mehta
仅在 PHP 中获取输出 - Manish Jesani
@Manish Jesani,你无法使用PHP从当前URL获取**#myqueryhash**,唯一的方法是使用JavaScript中的window.location.hash - Kausha Mehta
当发出请求时,URL的片段部分不会被传回服务器,因为它旨在仅作为浏览器中文档的内部引用。您需要使用JS来提取它并手动将其传回服务器。 - Adam Cameron
1个回答

42

您可以将此用于HTTP请求

<?php $current_url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

您可以使用此选项进行HTTPS请求

<?php $current_url="https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

你可以用它发送HTTP/HTTPS请求

<?php $current_url="//".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ?>

有两种方法,一种是使用JavaScript,您可以使用“window.location.hash ='myqueryhash';”,或者将单击事件绑定到<a href="#myqueryhash">,并在单击时阻止默认操作。 - Priyank
@Priyank 没错,我跟 Manish Jesani 说了同样的话。 - Kausha Mehta

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接