问题缘由
在群里面看到很多朋友问,wordpress要换域名这么办?后台的设置-常规里修改里域名后,全站打不开了,这是为什么?这么办?
问题解说
其实wordpress换域名需要到数据库进行操作的,首先,你换域名也是有几种情况的;
换空间换域名
如果是上述问题,那么将FTP整站打包外,还需要将数据库里的所有数据表也打包,数据库是进phpmyadmin里打包的,两个都打包后,然后分别上传到新的空间ftp和数据库里,然后进行新的数据库用户名和密码的配置文件配置,也就是打开新发ftp的根目录下找到wp-config.php,打开后自己的新数据库名、数据库用户名、数据库密码进行修改配置,然后到phpmyadmin进行批量换域名操作,说到这里我们就要从第二小点说起了!
仅换域名,没有换空间
打开新的空间的phpmyadmin(数据库控制面板)
然后选择新的数据库名,点击后,进入wp_开头的大于等于11个的表,然后选择选项卡里的sql,如图:
然后就是进行sql批量处理的命令了:
UPDATEwp_optionsSEToption_value=replace(option_value,'http://www.old.com','http://www.new.com')WHEREoption_name='home'ORoption_name='siteurl';
UPDATEwp_postsSETpost_content=replace(post_content,'http://www.old.com','http://www.new.com');
UPDATEwp_postsSETguid=replace(guid,'http://www.old.com','http://www.new.com');
old代表旧域名、new代表新域名,将上面的执行语句修改为你们自己的,然后点击执行即可!
衍生问题
每个网站换新域名都不是件随便的事情,如果你不在乎搜索引擎,那么衍生的问题,你可以直接无视,否则,继续看下去吧,我们需要对老域名对新域名进行一个301的重定向,意义就是告诉搜索引擎,旧域名的所有信息都将永久的转移到新域名上,这样才不会被搜索引擎所K掉!301重定向的方法有很多,小2这里就说一个linux的方法吧,在wordpress的根目录下创建一个.htaccess文件,然后将下面的内容放进去即可!
RewriteEngineOn
RewriteBase/
RewriteCond%{HTTP_HOST}^2zzt.com[OR]
RewriteCond%{HTTP_HOST}^www.2zzt.com[NC]
RewriteRule^(.*)$http://www.2zzt.com/$1[L,R=301]
RewriteCond%{REQUEST_FILENAME}!-f
RewriteCond%{REQUEST_FILENAME}!-d
RewriteRule./index.php[L]
到这一步,就基本全OK了。。。当然换域名的途中也会遇到各种问题,出现问题了可以回帖或者加入我们的技术群群求帮助哈!