it-swarm.cn

基于WordPress网站创建静态网站?

我正在进行一个项目,我需要建立一个静态网站(由于托管限制)。

我想通过在我的计算机上构建WP站点,然后创建站点地图,然后翻录该站点,最后将文件上传到主机来尝试这样做。

关于如何做到这一点的任何更好的建议? (或者我甚至不应该尝试的任何理由)

4
Tal Galili

我现在正在这样做(仍在进行中)。最好的设置似乎是:

  1. 在帖子上添加.html扩展名 - 简单,只需使用自定义帖子模式

  2. 在页面上添加.html扩展名 - 如果您使用页面,则需要一个插件

  3. 禁用订阅源(在function.php中删除标题)

  4. 从命令行使用wget:
    wget -x -nH -P scraped -np -k -R php -E -X wp-content,wp-includes -m http://address/siteroot/

    这会吸引您的网站,将WordPress风格的目录网址更改为.html网址,将内部链接更改为相对网页等。所有级别(根,类别,文章等)的Feed网页都会混淆这一点,这就是为什么它们必须是除去。

    显然,假设该站点可以从根目录完全访问。如果不是这种情况,请使用站点地图插件(如您自己提到的那样)并从那里抓取。

  5. 运行某种处理器以删除http://address/或将其更改为静态站点的绝对根。如果您需要移动目录(例如媒体/上传),那就更难了。

这应该可以让你大约80%的方式。

如果您最终以这种方式进行操作,请在了解更多信息时跟踪我,我将从工作计算机上分享其余设置。 (如果不止一个人需要这个,请对此进行排名,一旦完全完成,我会在一个月左右将其公之于众。)

5
Alexandre Rafalovitch

从你的评论我相信有两个更好的选择,这将保持开发时间下降和你的理智。

1)如果你有PHP w/PDO,那么你可以看一下使用这个插件 http://wordpress.org/extend/plugins/pdo-for-wordpress / ,这将允许您使用sqlite作为数据库。注意:Wordpress是为mysql而设计的,你的结果可能因使用不同的sql后端而异。

2)如果你只有一些基本的php模块。我只想创建一个包含一组的网站。使用php include创建一系列“模板”的位置。我会有一个php文件的页眉,页脚,主页和内页。如果您有多个内页。我会将任何类似的布局拉出到一个单独的页面中,并包含每种类型的内页。然后将所有内容放在内页中。然后使用index.php创建一些基于进入的URL加载所需页面的基本代码。您可以将.htaccess与mod_rewrite一起使用(假设Apache)将Nice网址转换为/ about-us到/ index。 PHP?模板=内&=约页面

2
Ryan Gibbons

@ Tal Galili

如果@ Insanity5902的建议不适用,那么您可以使用 HTTrack网站复印机 下载副本站点然后将下载的站点副本上载到您的服务器。

2
MikeSchinkel