共计 1523 个字符,预计需要花费 4 分钟才能阅读完成。
从 WordPress 转到 Typecho,首先要建立 Typecho 博客,建好后,首要的就是导入数据,这里选用 Wordpress To Typecho 插件直接将 WordPress 文章、评论、分类、标签等全部导入 Typecho。
数据迁移
下载插件 Wordpress To Typecho,并上传到 /usr/plugins 目录下。
这个插件是 Typecho 官方 2014 年前发布的,插件版本为 (v1.0.3 Beta),仅适用于 WordPress 2.7,但实际上 WordPress 6.3 也能用。
- 登录 Typecho 后台,进入菜单【控制台】→【插件】,将 Wordpress to Typecho 插件启用
- 进入该插件的 设置 界面,填好 WordPress 所在数据库的地址、端口、用户名、密码、数据库名称、表前缀,并【保存设置】
- 进入菜单【控制台】→【从 Wordpress 导入数据】,此时会看到导入提示界面,点击按钮【开始数据转换】即可
- 当系统提示转换成功后,数据就全部迁移到了 Typecho
- 完成后,可以禁用或删除这个插件
如果转换失败,系统会给出失败原因,很多情况是因为数据库设置错误导致的,只需重新设置 WordPress 所在的数据库信息即可。
可能出错
WordPress to Typecho 插件转换数据可能会出现 database query error 报错,需要把 MySQL 的严格模式关闭。
mysql -u root -p
SET GLOBAL sql_mode='';
exit;
再次尝试数据转换,便可成功导入数据了。
还原文章图片、附件
- 将 WordPress 的 wp-content/uploads 目录复制到 Typecho 的 usr/uploads 目录,注意保持目录结构不变
- 利用 SQL 语句完成图片路径的替换:
update typecho_contents set text=replace(text,'wp-content/uploads', 'usr/uploads')
新网站设置
导入数据库文件后,原来 WordPress 站点的文章、分类、标签、评论都完美导入到 Typecho 站点了,但网站标题、副标题等都没有,此时就需要在【设置】→【基本】中进行相应的设置。
设置永久链接
Typecho 设置永久链接后,需在服务器或者虚拟主机设置伪静态规则。
Apache 环境下伪静态规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
使用方法:在网站根目录创建.htaccess 文件,将上述规则复制粘贴到.htaccess 中即可。
其他问题
Q1 这篇文章不是由 Markdown 语法创建的, 继续使用 Markdown 编辑它吗?
出现这个问题有可能是,数据是从其他地方导过来的,文章正文开头缺乏一个特殊的语法内容:<!--markdown-->
。
这个语法内容决定了该篇文章是否采用 Markdown 语法进行解析。
解决问题 :在未开启 Markdown 语法解析的文章正文开头都加入该语法内容:update typecho_contents set text=concat('<!--markdown-->', TEXT);
。
Q2 如何将 JSON 格式的数据导入到 WordPress 数据库中?
解决问题 :可以使用 WP Import Export Lite 插件将 JSON 格式的数据导入到 WordPress 数据库中。
以上就是从 WordPress 迁移到 Typecho 的整个过程。