php - 使用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 来做到这一点。
有办法吗?
解决方案
您可以使用 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
以指向您的脚本。
推荐阅读
- c# - 试图除以零 Linq
- redmine - 如何将 postgresql 数据库从 2.42 迁移到 3.2.1
- php - 在 phpmailer 上提供用户名和密码是否安全?
- javascript - 如何描述总是返回预定义值类型的代理对象类型?
- php - PHP数组值键
- spring - mongodb和spring boot中的DuplicateKeyException
- java - 使用documents4j转换后删除的文件
- html - 如何使用 CSS 设置固定宽度?
- html - 使用 Bootstrap 为不同的屏幕设置列类
- xml - 使用 xmlstarlet 添加 xml 元素中尚不存在的属性