如何在没有javascript的情况下获取父窗口的URL?

时间:2012-07-10 10:27:55

标签: php

我有一个HTML文件 http://mydomain.com/page1.html

<!doctype html>
<html>
  <iframe src="http://mydomain.com/page2.php"></iframe>
</html>

page2.php 中,我想获取“容器页面”的网址,在本例中为字符串page1.html

有没有这样做没有javascript

5 个答案:

答案 0 :(得分:7)

浏览器可能在HTTP请求中将父网址作为Referer发送,请查看$_SERVER['HTTP_REFERER']。但这并不能保证。因此,没有100%万无一失的方式。如果客户端没有提供请求中的信息,那么除非在URL中明确传递参数,否则您无法在服务器端执行任何操作。

答案 1 :(得分:4)

为什么不将一些未经通知的GET参数传递给内页?

<iframe src="http://mydomain.com/page2.php?outerPageURL=<URL_ENCODED_CURRENT_URL>></iframe>

然后内页可以:

$_GET['outerPageURL'];

答案 2 :(得分:2)

您只需使用$_SERVER ['HTTP_REFERER']即可。

答案 3 :(得分:2)

您可以使用$_SERVER['HTTP_REFERER'],但有时可能无效。据我所知,没有其他方法,没有使用javascript。

答案 4 :(得分:1)

您可以在PHP中使用$_SERVER

要获取案例base url中的网址:

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