WordPress网站更换域名的几个步骤


=Start=

缘由:

之前买的一个域名快到期了(虽然有很多不舍,但是.me域名的续期费用真的好贵!!!),就想着换一个看上去会正常一点的.com域名,一次性多弄个几年,省得后期因为个续费的问题纠结,也尽量避免由于换域名导致的各种问题。

这里就记录一下WordPress网站更换域名的几个步骤,方便以后参考。

正文:

参考解答:
换空间 + 换域名
  1. 开始之前,请先做好网站的备份,备份好网站数据库网站文件。尤其是数据库,一定要做好备份,以防操作过程中出现错误,我们可以使用备份的数据库重新进行操作。然后注意更新 wp-config.php 文件中的配置。
  2. 将新域名做好解析和绑定操作。可参考「DNSPod的解析(无缝迁移)」和「Godaddy注册商域名修改DNS地址
  3. 更新数据库中的域名。具体参考:「WordPress更换域名详细攻略
    UPDATE wp_prefix_options SET option_value = replace(option_value, 'old-domain.me', 'ixyzero.com') WHERE option_name = 'home' OR option_name = 'siteurl' ;
    UPDATE wp_prefix_posts SET post_content = replace(post_content, 'old-domain.me', 'ixyzero.com') ;
    UPDATE wp_prefix_posts SET guid = replace(guid, 'old-domain.me', 'ixyzero.com') ;
    UPDATE wp_prefix_comments SET comment_content = replace(comment_content, 'old-domain.me', 'ixyzero.com') ;
    UPDATE wp_prefix_comments SET comment_author_url = replace(comment_author_url, 'old-domain.me', 'ixyzero.com') ;
  4. 全站301重定向。
换域名
  1. 开始之前,请先做好网站的备份,备份好网站数据库和网站文件。尤其是数据库,一定要做好备份,以防操作过程中出现错误,我们可以使用备份的数据库重新进行操作。tips:可以在同一个数据库实例中另外新建一个数据库,然后将原WordPress博客的数据库表clone过去,可参考:「MySQL中如何复制数据库」、「MySQL中如何批量修改一个数据库中的表前缀
  2. 将新域名做好解析和绑定操作。可参考:如何在单台VPS上配置多个域名?
    http://stackoverflow.com/questions/11773544/nginx-different-domains-on-same-ip
    http://nginx.org/en/docs/http/server_names.html
    http://nginx.org/en/docs/http/request_processing.html
    https://www.nginx.com/resources/wiki/start/topics/examples/server_blocks/
  3. 更新数据库中的域名。当重新修改了数据库的表前缀时,在登录后台的时候可能会出现「您没有足够的权限访问该页面」的情况,解决办法如下:
    首先打开 ?_options 表,修改 option_name 字段值改为 ?_user_roles 修改为与你的前缀相对应;
    然后打开 ?_usermeta 表,将 meta_key 字段值中原来修改过前缀的更新为现在的前缀就OK。
    
    假设原始前缀为 old_prefix_ ,现在的前缀为 new_prefix_ ,则SQL语句如下:
    
    UPDATE new_prefix_options SET option_name = REPLACE(option_name, 'old_prefix_user_roles', 'new_prefix_user_roles');
    UPDATE new_prefix_usermeta SET meta_key = REPLACE(meta_key, 'old_prefix_', 'new_prefix_') where meta_key like 'old_prefix_%';
  4. 全站301重定向。
参考链接:

=END=

, ,

《 “WordPress网站更换域名的几个步骤” 》 有 6 条评论

  1. 「源码面前,了无秘密」
    「详细日志面前,错误原因可期」

    Nginx -> /var/log/nginx/error.log
    PHP-FPM -> $ rpm -ql php-fpm
    MySQL -> /var/log/mysqld.log

    https://github.com/dockerfile/nginx/issues/4
    https://serverfault.com/questions/501258/php-fpm-gives-permission-denied
    `
    open() “/var/lib/nginx/tmp/client_body/0000000023” failed (13: Permission denied)
    # 错误原因在于Nginx会对client_body较大的请求存临时文件以减小内存消耗,但是文件目录的权限设置存在问题,不可写入,导致体积较大的请求无法正常处理
    # chown -R www-data:www-data /var/lib/nginx
    `

  2. 如何修复 WordPress 中的 HTTP 错误
    https://linux.cn/article-9404-1.html
    https://www.rosehosting.com/blog/http-error-wordpress/
    `
    1、 修复在上传图像时出现的 HTTP 错误
    2、 修复因为不恰当的文件权限而产生的 HTTP 错误
    3、 修复因为内存不足而产生的 HTTP 错误
    4、 修复因为 php.ini 文件错误配置而产生的 HTTP 错误
    5、 修复因为 Apache mod_security 模块而产生的 HTTP 错误
    6、 修复因为有问题的插件/主题而产生的 HTTP 错误
    `

  3. 漫话:如何给女朋友解释为什么有些网站域名不以www开头
    https://mp.weixin.qq.com/s?__biz=Mzg3MjA4MTExMw==&mid=2247484994&idx=1&sn=e5cbc3175ef0dd88e76aa7b69e31a82b
    `
    域名是可以配置如何解析的,当我们设置www作为域名前缀的时候,那么访问www.aliyun.com即可访问网站。当我们设置@作为域名前缀的时候,直接访问aliyun.com就可以访问网站了。

    正是因为万维网是互联网中最重要的一部分,很多域名的最主要用途也是搭建web网站,所以,会有很多公司直接忽略www。

    同一个域名可以设置很多个解析,每个解析都可以映射到不同的ip地址,就像如果我们有一个域名ixyzero.com,那么我们可以设置www.ixyzero.com解析到ip1,helloworld.ixyzero.com解析到ip2等等。
    `

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注