时间:2024-04-02
因为各种原因,我们有时候需要更换WordPress的域名,而WordPress的域名是直接写入到数据库中的,直接更换服务器中WordPress站点绑定的域名显然是不行的,除了这个工作,我们还需要替换WordPress数据库中的旧域名为新域名,才算彻底完成WordPress的域名更换工作。本文中,我将为大家介绍几种更换WordPress域名的方式。需要事先提醒大家的是,修改WordPress数据库之前,一定要做好备份,以防万一。
wp-cli是一个命令行工具,可以让我们通过命令行安装、更新WordPress,对WordPress执行一些批量操作,使用起来相当方便。
如果已经安装了wp-cli工具,直接进行下一步。
curl-Ohttps://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar chmod+xwp-cli.phar sudomvwp-cli.phar/usr/local/bin/wp
wp-cli工具为我们提供了一个搜索替换数据库中字符的命令,直接在WordPress的根目录执行以下命令即可完成更换WordPress域名的操作,该命令支持一些选项方便我们自定义操作,具体查看wp search-replace命令的官方说明。
wpsearch-replace'old.com''new.com'
在phpMyAdmin中直接运行下面的命令替换旧域名为新域名即可。复制代码后,替换代码中old.com,new.com,如果您的WordPress站点使用了自定义数据表前缀,同时修改下面命令中的‘wp_’数据表前缀。
UPDATEwp_optionsSEToption_value=replace(option_value,'http://old.com','http://new.com')WHEREoption_name='home'ORoption_name='siteurl'; UPDATEwp_postsSETguid=replace(guid,'http://old.com','http://www.newurl'); UPDATEwp_postsSETpost_content=replace(post_content,'http://old.com','http://new.com'); UPDATEwp_postmetaSETmeta_value=replace(meta_value,'http://old.com','http://new.com'); UPDATEwp_usermetaSETmeta_value=replace(meta_value,'http://old.com','http://new.com'); UPDATEwp_commentsSETcomment_content=REPLACE(comment_content,'http://old.com','http://new.com'); UPDATEwp_commentsSETcomment_author_url=REPLACE(comment_author_url,'http://old.com','http://new.com');
大多数情况下,写入WordPress中的域名都存在于上面几个数据表中,但是也不排除主题或插件添加的自定义数据表也包含旧域名,如果执行了上面的命令后,还有一些旧域名没有被替换掉,可以参考下面直接编辑.sql文件的方法进行替换。
导出.sql文件,然后使用你喜欢的代码编辑器打开导出的.sql文件,搜索替换旧域名为新域名。
然后直接删除站点数据库中的所有数据表,再导入到数据库即可。
如果您的站点已经被搜索引擎收录了,可以在Nginx中做一个301跳转设置,把旧域名的流量导入到新域名。
server{ listen80; server_nameold.comnew.com; return301http://new.com$request_uri; }
最后,再次提醒,修改WordPress数据库之前一定要做好备份,万一修改过程中出了问题,我们还可以很简单的把数据恢复过来,不至于造成太大的损失。
Copyright © 2019-2024 19.org.cn