使用PHP加载外部站点,而不会破坏该站点中的相对链接

时间:2019-03-28 21:21:20

标签: php curl file-get-contents

我有一个php页面,我试图在其中加载然后回显和外部页面(如果有关系,它位于同一台服务器中,但位于完全不同的路径/域中)。

我尝试同时使用file_get_contents()curl。它们都正确地加载了目标页面的html,问题在于它无法正确显示,因为该目标页面具有指向多个文件(图像,css,javascript)的相对链接。

有什么办法可以用PHP做到这一点?如果没有,那么下一个最佳方法是什么?目标站点必须看起来像是从初始页面(URL方向)加载的,我不想执行重定向。

因此,浏览器将显示http://example.com/initial-page.php,即使其内容来自http://example2.com/target-page.php

编辑: 使用iframe可以很容易地做到这一点,但是出于几个原因,我也想避免这种情况,其中之一是因为使用iframe和iframe会破坏目标网站的响应能力。我也无法更改目标网站的代码来解决该问题。

1 个答案:

答案 0 :(得分:0)

最后,解决方案是我试图做的(使用ALTER TABLE cities CHANGE co_code country_id INT; UPDATE cities ci JOIN countries co ON co.co_code = ci.country_id SET ci.country_id = co.id )和 WebRookie 使用页面中的curl html标签建议的组合通过curl加载。

在我的特定情况下,我在base中将基本URL 作为参数传递,并在加载的页面中回显它,从而允许我从不同的网站加载同一页面(是我要这样做的另一个原因。