首页 > 解决方案 > 使用php生成站点的镜像

问题描述

我想做以下事情:当用户访问 www.mysite.com 时,我希望服务器动态获取另一个站点的内容(比如说 www.othersite.com)并为 www.mysite.com 生成相同的 html 输出。

因此,当用户访问 www.mysite.com 时,他将看到与在 www.othersite.com 上看到的完全相同的内容。这也需要与 www.mysite.com/myfolder、www.mysite/myotherfolder 等一起使用。

我知道我可以在 .htaccess 上使用重定向来做到这一点,但出于学习目的,我只想使用 PHP 来做到这一点。

有办法吗?

标签: php

解决方案


您可以使用 fe 获取目标站点的 html 代码file_get_contents,然后echo将其取出:

<?php
$htmlContent = file_get_contents('http://www.example.com');
echo $htmlContent;

但这不会修复其中的链接,当页面有 a<a href="/somepage.html">Click</a>并且您在镜像站点上单击它时,它将指向您服务器上不存在的脚本。

您可以使用目标的查询参数替换所有链接preg_replace以指向您的脚本。


推荐阅读