在php中获取页面的url

时间:2011-05-02 17:39:26

标签: php http-referer

我正在处理“通过电子邮件发送此页面”弹出页面。我想发送基页的URL作为电子邮件,但它应该是一个弹出窗口。

我使用过HTTP_REFERER,它在Firefox上正常运行,但在Internet Explorer上无效。

我正在获取当前页面的网址,但我想在新的弹出窗口页面中显示该网址。

除了HTTP_REFERER之外还有其他选择。

3 个答案:

答案 0 :(得分:2)

在您希望获取URL的页面上,您可以使用$_SERVER['REQUEST_URI']获取请求的URI(方案和主机名除外;换句话说,您将获得路径和查询字符串)。使用查询字符串或sessions将此传递到您的其他页面。前者是优选的,因为后者不是RESTful。有时可能会违反服务器端状态的REST规则,但这可能不是它。

答案 1 :(得分:0)

除非您存储或自行发送,否则没有办法。 This页面有一个如何执行此操作的示例,但只有事先设置它才会真实。如果该网站是您自己的,那么您应该没问题。如果没有,那你就会挣扎。

答案 2 :(得分:0)

这是因为HTTP_REFERER是由客户端浏览器发送的,这意味着它的值可以被完全操纵,甚至可以是null。这意味着这个变量不是很可靠。但如果该网站是您的,还有其他解决方案。

您可以通过QueryStrings发送网址或ID等任何其他标识。因此,您将拥有类似此the_send_page_name.php?ref=index.php

的链接网址

请注意,只有在您自己的网站中打开弹出窗口时,此方法才有效。