php get_contents-保留源文件的原始url


php get_contents - Keep original url for source files?

我需要显示来自外部页面的内容。这是我的代码:

<?php
$homepage = file_get_contents('http://www.domain.com');
 echo $homepage;
?>

它可以工作,但图像、链接和js文件的所有路径/链接都已断开。如何做到这一点,同时保留原始链接?当我点击"查看页面来源"时,它会将图像显示为

<img src="images/blah.jpg" />

相反,它需要显示原始域名,如下所示:

<img src="http://www.domain.com/images/blah.jpg" />

它需要对所有链接、javascript文件和图像执行此操作。

问题是页面使用的是相对链接,因此它使用的是您托管的域名,而不是您获取内容的域名。

正确的做法是使用标头函数重定向用户,该函数还将发送正确的302 HTTP代码

header('Location: http://www.domain.com/');

我可以告诉你的唯一选择是找到并重写任何没有域的标签,但这很麻烦,因为你会错过任何动态生成的标签。另一种选择,但更狡猾和错误的是,写一个100%高宽的iframe,并将那里的页面显示为来自您的域。但这似乎有点粗鲁,除非它真的是你的网站。