【问题标题】:php get_contents - Keep original url for source files?php get_contents - 保留源文件的原始网址?
【发布时间】:2013-12-12 10:52:17
【问题描述】:

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

<?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 文件和图像执行此操作。

【问题讨论】:

标签: javascript php include


【解决方案1】:

问题在于该页面使用的是相对链接,因此它使用您托管的域名而不是您从中获取内容的域来引用自身。

正确的做法是使用 header 函数重定向用户,这也会发送正确的 302 HTTP 代码

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

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

【讨论】:

    猜你喜欢
    • 2017-04-06
    • 1970-01-01
    • 2017-05-09
    • 2012-04-12
    • 2015-06-09
    • 2016-03-05
    • 2019-06-24
    • 1970-01-01
    • 2023-04-05
    相关资源
    最近更新 更多