复制和加载页面';将完整的HTML放到另一页上


Copying and loading a page's full HTML onto another page

我目前的总体目标是让空白页面B从页面a加载内容,页面a在任何一天都会更新多次。我不控制页面A的内容何时更新,但我们的想法是,页面B将是我们服务器上的一个测试页面,我们可以实时使用它,因为它始终具有原始页面的当前HTML。

更简单地说。假设每次加载foo.com时,您都可以转到foo.com/morefoo,它看起来总是与主页foo.com 完全相同

我不是在寻找即时解决方案,而是更多关于最佳途径的建议,因为我在脑子里转来转去,想知道哪种方式是最好的。我的第一个想法是让页面A加载并将HTML保存到一个文件中(我认为这不能用jQuery实现,必须是PHP),然后让页面B用include()加载。但我不知道每天点击数百万次的页面,每次加载页面时都会将文本保存(和覆盖)到一个文件中,这是否会成为一个问题。

$html = file_get_contents('http://foo.com'); //Get page contents
file_put_contents('morefoo.html', $html); //Save page contents to file

然后,您已经将整个呈现的页面复制到一个新的HTML文件中。如果样式表和javascript文件包含在原始页面中的绝对URL中,那么您可能不会遇到任何问题,使复制的页面正常工作并看起来像原始页面。但是,如果在HTML中设置了亲属路径,则必须解析页面,并将相对路径替换为绝对路径。为此,您可以查看http://php.net/manual/de/function.preg-replace.php

但你不会在每次加载foo.com时都复制内容。这让一切都变慢了。您可以设置一个cronjob,每隔一小时左右更新一次morefoo.html。