我最近为我的客户创建了一个目录。该网站已经完成,但他想要一个网站的复制版本,以便他可以测试网站并学习如何使用它。
要完全复制他的网站,我需要花费数小时才能更改网站中的每个超链接和网址。
由于我的客户有点咄咄逼人并希望快速完成,我想知道是否可以创建一个测试网站并添加一些javascript,每次都会替换他的URL(直到我创建一个完整的测试解决方案?)
例如,如果是:
<a href="www.mydomain.com/contact-us">Test</a>
它会将其替换为:
<a href="www.mydomain.com/test/contact-us"></a>
这是真的吗?
是否暂时推荐,直到我创建完整的测试解决方案?
答案 0 :(得分:3)
您确实应该使用相对路径,以便文件相互之间进行交互,无论文件位于何处。
那就是说,这是一个可能的快速JS解决方案,你可以暂时使用它而不是绝对的链接:
$("a").each(function() {
var href = this.href;
href = href.replace("mydomain.com/", "mydomain.com/test/");
this.href = href;
});
答案 1 :(得分:1)
使用javascript整理你的超链接当然是可能的,特别是使用像jQuery这样的框架会很容易。
$('a').each(Function(e){
e.attr('href', e.attr('href').replace(/http:\/\/mainsite.com/gi, 'http://newsite.com'));
});
希望你的css文件中的URL,链接hrefs等都是相对的,否则你也需要更改它们。在这一点上,php解决方案会更合适。
答案 2 :(得分:1)
在Notepad ++或任何支持文件替换的编辑器中打开站点文件,然后通过文件替换(N ++将自动为您执行此操作),用config变量替换实时URL,然后根据需要设置URL变量对于测试站点。
现在你有了一个URL的配置变量,如果客户想要更改域或者你想在其他地方部署它将会很容易。
答案 3 :(得分:0)
wget
命令行实用程序具有--convert-links
选项。如果您使用该选项下载网站,wget
将以“本地浏览可靠地运行”的方式转换链接。