复制网站的最佳方法


Best method to replicate a website

我最近为我的一个客户创建了一个目录。 该网站是完整的,但是他想要网站的复制版本,以便他可以测试网站并学习如何使用它。

要完全复制他的网站,这将需要几个小时,因为我将不得不更改网站中的每个超链接和URL。

由于我的客户有点咄咄逼人并希望快速完成,我想知道是否可以创建一个测试网站并添加一个小的 javascript 来替换他的 URL(直到我创建一个完整的测试解决方案?

例如,如果它是:

<a href="www.mydomain.com/contact-us">Test</a>

它将替换为:

<a href="www.mydomain.com/test/contact-us"></a>

这可能吗?在我创建完整的测试解决方案之前,是否建议暂时使用?

您确实应该使用相对路径,以便文件彼此交互,而不管文件位于何处。

也就是说,这里有一个可能的快速JS解决方案,您可以暂时使用,同时使链接相对而不是绝对:

$("a").each(function() {
  var href = this.href;
  href = href.replace("mydomain.com/", "mydomain.com/test/");
  this.href = href;
});

在 Notepad++ 或任何支持文件替换的编辑器中打开站点文件,然后执行文件替换(N++ 会自动为您执行此操作),将实时 URL 替换为配置变量,然后根据需要为测试站点设置 URL 变量。

现在您有了 URL 的配置变量,如果客户端想要更改域或您想部署到其他地方,这将很容易。

当然可以用javascript整理你的超链接,特别是像jQuery这样的框架真的很容易。

$('a').each(Function(e){
 e.attr('href', e.attr('href').replace(/http:'/'/mainsite.com/gi, 'http://newsite.com'));
});

希望您的 css 文件中的 URL、链接 hrefs 等是相对的,否则您也需要更改它们。在这一点上,php解决方案会更合适。

wget命令行

实用程序具有--convert-links选项。如果您使用该选项下载网站,wget将以"本地浏览可靠地工作"的方式转换链接。