4

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

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

page2.php中,我想获取“容器页面”的 url,在本例中是 string page1.html

无论如何,没有 javascript可以这样做吗?

4

5 回答 5

7

浏览器可能会在 HTTP 请求中将父级的 URL 作为 Referer 发送,因此请查看$_SERVER['HTTP_REFERER']. 但这并不能保证。因此,没有 100% 万无一失的方法。如果客户端没有在请求中提供信息,那么您在服务器端没有任何其他可以做的事情,除非在 URL 中显式传递参数。

于 2012-07-10T10:31:13.820 回答
4

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

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

然后内页可以执行以下操作:

$_GET['outerPageURL'];
于 2012-07-10T10:30:57.820 回答
2

你可以简单地使用$_SERVER ['HTTP_REFERER']它。

于 2012-07-10T10:30:42.563 回答
2

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

于 2012-07-10T10:30:53.750 回答
1

您可以在 PHP 中使用$_SERVER 。

要获取您案例中的 URL base url

<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>
于 2012-07-10T10:32:59.160 回答