我有一个 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可以这样做吗?
我有一个 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可以这样做吗?
浏览器可能会在 HTTP 请求中将父级的 URL 作为 Referer 发送,因此请查看$_SERVER['HTTP_REFERER']
. 但这并不能保证。因此,没有 100% 万无一失的方法。如果客户端没有在请求中提供信息,那么您在服务器端没有任何其他可以做的事情,除非在 URL 中显式传递参数。
为什么不将一些未经处理的 GET 参数传递给内页?
<iframe src="http://mydomain.com/page2.php?outerPageURL=<URL_ENCODED_CURRENT_URL>></iframe>
然后内页可以执行以下操作:
$_GET['outerPageURL'];
你可以简单地使用$_SERVER ['HTTP_REFERER']
它。
您可以使用$_SERVER['HTTP_REFERER']
,但有时它可能不起作用。据我所知,没有其他方法,没有使用 javascript。
您可以在 PHP 中使用$_SERVER 。
要获取您案例中的 URL base url
:
<?php echo "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>