昨天测试了一下将博客的数据迁移到另外一个域名以及服务器,由于以前没有操作过,这个过程是相当的繁琐。因为我是一个小白,我以为只需要把网站整站数据以及数据库打包,导入到新的服务器就可以了,结果打开网站文章全部是404。部分设置点击会返回并跳到原域名数据网站,在百度上搜索了好一会以及咨询了一下朋友,才知道还需要把数据库的域名全部替换一下。我打开数据库看了一下,需要手动一个一个的替换感觉太麻烦了,索性就百度看看有没有什么批量替换的方法,最终找到了批量替换数据库域名的解决办法以及文章404的问题。本人非技术大佬,所以还是把这个替换的方法简单记录一下吧,以防下次需要的时候使用。

Typecho 网站域名更换,分成两部分,一部分是网站通用的域名更换的准备工作,另一部分是针对 Typecho 的网站域名更换。

通用网站域名更换方法

1、域名解析,把新网站域名解析到网站IP上。

2、修改 web 服务器配置文件,如 nginx.conf 、.htaccess、以及配置 SSL 证书等。

3、修改站点配置和网站内容。

Typecho 网站域名更换

Typecho 网站的域名更换方法和上面的基本一致,在第三点上可能有一些通过数据库操作的便捷方法。

对于网站配置和网站内容的修改,一种办法是进入到网站后台,挨个进行修改,只是这种方法太过于麻烦和耗时,另一种简易的办法是通过数据库直接进行修改,非常便捷,有遗漏的手动进行查漏补缺即可。

以下 SQL 语句默认表前缀为 typecho_ ,若你的数据库表前缀不是 typecho_ ,请自行修改语句。

修改 typecho_options 表

将网站的设置里的域名替换成新的域名:

UPDATE `typecho_options` SET `value` = '新域名地址' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` =0;

修改 typecho_contents 表

将网站文章里的旧域名替换成新的域名:

UPDATE `typecho_contents` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址');

修改 typecho_users 表

将管理员的个人网站进行替换

UPDATE `typecho_users` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址');

修改 typecho_comments 表

对评论中的管理员的域名,和评论中的旧域名进行替换

UPDATE `typecho_comments` SET `url` = REPLACE(`url`,'旧域名地址','新域名地址');
UPDATE `typecho_comments` SET `text` = REPLACE(`text`,'旧域名地址','新域名地址');

如果使用的域名邮箱,也建议进行更换

UPDATE `typecho_comments` SET `mail` = REPLACE(`mail`,'旧域名地址','新域名地址');

查漏补缺

如果还有其他的地方修改,参照上面的 SQL 语句进行替换即可,也可以进入网站后台手动进行修改~

文章目录