目标
我想镜像一个网站,这样我就可以在任何地方(本地主机、S3等)托管静态文件,而URL将会与原始网站一样对于最终用户可见。
命令
这对我的需求来说几乎完美(......但不完全):
wget --mirror -nH -np -p -k -E -e robots=off http://mysite
这个命令的作用
--mirror
:递归下载整个站点-p
:下载所有必要的页面资源-k
:将URL转换为相对路径,以便可以在任何地方进行托管
这个命令不能做到的事情
- 防止重复下载
- 保持(完全)相同的URL结构
问题
有些东西被下载了多次,导致出现myfile.html
和myfile.1.html
。这本来不是什么问题,但是当wget重写超链接时,它会使用myfile.1.html
版本编写它,这会改变URL,因此需要考虑SEO(Google会索引难看的URL)。
-nc
选项可以解决这个问题,但是在wget-v1.13中,我无法同时使用-k
和-nc
。有关此问题的详细信息,请单击此处。
求助?!
我希望使用wget,但现在正在考虑使用另一种工具,如httrack,但我还没有使用过它。
如果您有任何关于如何实现此目标(使用wget、httrack或其他任何工具)的想法,将不胜感激!
myfile.html
文件的?它们是否位于不同的路径下,但wget
忽略了这一点并将它们全部倒入同一个目录中? - Arman H