iam有一个页面包含其网址中的书签,如
http://www.abc.com/page_url#bookmark
iam使用$_SERVER['HTTP_HOST']
和$_SERVER["REQUEST_URI"]
获取网址,但仅限gigvng网址
http://www.abc.com/page_url即它没有给我带有书签的链接。
如何在php ????
中获取完整的网址(带有'#'内容)编辑:
看看我想要做的是我想在我的网址中添加'/',即如果网址是http://www.abc.com/page_url#bookmark,那么我想将其重定向到http://www.abc.com/page_url#bookmark/。当我使用$ _SERVER执行此操作时[“REQUEST_URI”]导致http://www.abc.com/page_url/#bookmark错误。 现在请告诉我该怎么办?
答案 0 :(得分:6)
大多数浏览器在请求URL时都不发送#fragment,但在内部处理它...因此PHP无法访问该信息
答案 1 :(得分:3)
在请求网页时,浏览器不会向网络服务器发送该信息(称为“片段”)。实际上,它甚至可能根本不会发出请求(如果您点击指向同一页面的链接,而是另一个片段)。
唯一的方法是使用Javascript。您可以使用self.document.location.hash
获取片段。然后,您可以发出单独的请求(例如ajax)以向服务器发送该信息。
这将是有用的,例如存储用户在跟踪链接时登陆的部分的统计信息,但您可以根据片段更改页面呈现服务器端的方式(当然,您可以使用javascript,将用户重定向到另一个页面,或者相同)页面在查询字符串中传递片段,以便可以以不同方式呈现它。