避免wget将index.html附加到链接

时间:2015-07-11 03:19:51

标签: wget

我正在尝试制作Wordpress网站的静态HTML副本,我可以将其上传到其他地方,例如Github页面。

我使用这个命令:

选项1:

wget -k -r -l 1000 -p -N -F -nH -P ./website http://example.com/website

它下载整个网站等,但我的主要问题是它为每个链接添加了“index.html”。我理解需要在本地查看该站点,但静态网站主机上不需要它。

那么有没有办法告诉wget不要修改所有链接并将index.html添加到它们?

例如,它创建:

<a href="blog/2015/07/11/hello-world/index.html">Hello world!</a>

在默认的Worpress Hello World帖子上。

选项2:

使用带-k convert链接的镜像命令:

wget -E -m -p -F -nH -P ./website http://example.com/website

然后它将不会应用index.html并保留域名。

然后它也爬到http://example.com并对那里的所有内容编制索引。我不要那个。我希望/ website成为root(因为Wordpress多站点)。我该如何解决这个问题?

我还希望它重写主机名而不是剥离它或保留它。所以它应该从http://example.com/website/(Wordpress多站点)转到http://example.org/这是可能的,还是我需要在下载后对所有文件运行sed / awk?

1 个答案:

答案 0 :(得分:0)

面临类似问题,通过使用sed进行后处理解决了这个问题。

这取代了所有出现的/index.html'通过/&#39;因为上面的评论表明,如果缺少尾部斜杠,重定向仍会发生,我添加了=)

WHERE IFNULL(`field1`, `field2`) LIKE 'Some string'

这个怪物取代了所有出现的&#34; index.html&#34;或者&#39; index.html&#39; (或&#34; index.html&#39;或&#39; index.html&#34; ..)by&#34;。&#34;:

find ./ -type f -exec sed -i -e "s/\/index\.html'/\/\'/g" {} \;

你可以查看sed对你的比赛做了什么,例如在index.html上使用此命令:

find ./ -type f -exec sed -i -e "s/['\\\"]index\.html['\\\"]/\\\".\\\"/g" {} \;

希望你找到有用的