我正在尝试镜像一个不再更新的 WordPress 网站,以便我可以删除 php 后端。我不想再担心更新网站了。我意识到这会破坏搜索和评论等动态部分,但我可以接受这种功能的丧失。如果有更好的方法可以做到这一点,我愿意接受除 wget 之外的其他建议。
我目前正在使用以下命令。
wget -vN --server-response --wait=6 --domains=example.com --exclude-directories=admin --mirror --random-wait=on http://example.com -o ~/exampleFetch.log
问题是某些页面未被保存,并且 wget 输出以下错误。
Cannot write to "example.com/archives/2009/09/16/example-post-title" (Not a directory).
这是因为主页上有存档月份的链接,列出了给定月份的所有帖子。例如:
example.com/archives/2009/09
保存为文件通过 wget 本地获取,因为
http://example.com/archives/2009/09/
确实返回了一个合理的页面。
希望我漏掉了一个开关或误解了它。感谢您的时间。
答案1
您应该编辑 .htaccess 文件以在镜像时关闭重写引擎。您将拥有名称奇怪的文件,但不应该存在任何命名冲突。
答案2
我认为如果您使用 --html-extension 选项,它将为每个名为 pages 的文件夹创建页面(带有 .html 扩展名!)。
我跟着这些说明镜像我的 wordpress 博客并且它们运行良好。