WordPress整站搬家、变换空间、改变域名、异地备份步骤及其常见问题。
WordPress整站搬家、变换空间、改变域名、异地备份还原时遇到常见问题。快速搬家,快速修改域名url
WordPress域名改变重定向,WordPress程序搬家方法。
在使用WordPress的过程中,有些时候需要把本地测试的整站搬到服务器上,有时候需要把服务器上数据拿到本地来测试修改,还有时候需要把整站从一个服务器上移动到另一个服务器上。
笔者喜欢使用程序,数据库单独分开备份,还原的方法,这样基本不会改变网站的原貌。包括WordPress、dedecms等使用php+mysql的程序都适用。
常用方法步骤
1 网站程序备份,也就是指WordPress程序文件备份。通常情况下Linux主机一般有在线压缩功能,可以用管理面板执行压缩。或者用在线压缩的小程序,不过Linux只支持zip格式。windows主机通常自带管理程序,比如FreeHost System 可以直接在线压缩成 rar格式。然后把压缩后的文件通过FTP下载下来就可以了。
2 数据库备份 对于Linux主机最常用的要算是phpmyadmin了,直接把数据备份成sql就可以了,对于支持SSH的主机可以使用SSH命令来完成数据备份。通常情况下phpmyadmin对数据还原有大小的限制,数据库备份一般不受影响。windows主机通常自带数据库管理程序。数据还原和备份都在这里完成,备份一中,点击建立备份,生产1.sql,备份二中生成2.sql。对于备份的sql文件可以通过临时创建ftp把它下载下来,如果是数据还原,则需要把还原的数据命名成1.sql或者2.sql,通过备份一中还原,或者备份二中还原。
3 如果你需要把备份下来的数据进行本地平台测试,则首先应该搭建本地测试环境(本人喜欢用xampp搭建)。然后把程序文件解压到测试环境(xampp指的是htdocs文件夹中);对于数据库可以先用phpmyadmin建立一个空库,名称任意,然后把备份的sql文件还原过来。
4 完成程序和数据还原后,首先应该配置wp-config.php。主要修改参数主要包括DB_NAME(数据库名称), DB_USER(数据库用户名), DB_PASSWORD(数据库用户密码), DB_HOST(数据库主机)等。
xampp中默认的用户为root,密码为空。 windows主机db_host通常是localhost,对于Linux主机设置不同,一般有单独的数据库存储地址。
5 配置完成wp-config.php访问http://localhost 这时候可能会发现能够正常访问,但是文章地址,logo链接地址,home地址和管理地址,都指向的是原来的域名地址。
解决这个问题有2个方法,其一就是 通过手动修改 数据库wp_options表中的option_value 为siteurl和home的两个字段,如何你的上传目录为绝对路径,也需要对他进行修改。
以修改option_value=siteurl为例:
UPDATE wp_options SET option_value = ‘http://localhost/’ WHERE option_name =’siteurl’
另外一个简单方法则是在网上搜集的一个php文件,具体忘记地址了。
php文件代码主要有
<?php
if (“wp-config.php”){
require(“wp-config.php”);
}else {
exit(“wp-config.php不存在,本文件需要上传到博客的根目录才能使用!”);
}
//获取siteurl
$filename = str_ireplace(dirname(__FILE__),”,__FILE__);
$filename = str_ireplace(“”,”/”,$filename);
$dirname = str_ireplace($filename,”,$_SERVER[‘PHP_SELF’]);
$siteurl = “http://” . $_SERVER[‘SERVER_NAME’] . $dirname;
mod_wp_db($siteurl);
echo “成功重置siteurl,请试着访问你的<a href=”{$siteurl}”>博客首页</a>{$siteurl}”;
function mod_wp_db($siteurl){
$con = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
mysql_select_db(DB_NAME,$con);
$sql = “set names ” . DB_CHARSET;
$sql1=”update wp_options set option_value=’{$siteurl}’ where option_name=’siteurl’”;
$sql2=”update wp_options set option_value=’{$siteurl}’ where option_name=’home’”;
$sql3=”update wp_options set option_value=’” . dirname(__FILE__) . “/wp-content/uploads’ where option_name=’upload_path’”;
if(mysql_query($sql,$con)&&mysql_query($sql1,$con)&&mysql_query($sql2,$con)&&mysql_query($sql3,$con)){
return true;
}else{
return false;
}
}
?>
使用方法是在网站根目录中创建一个siteurl.php的文件。然后把代码放到里面保存。这样,就可以通过http://你的域名/siteurl.php来轻松解决域名改变带来的问题了。下图是用siteurl.php后成功的效果图。
这样整个网站从服务器到本地的搬家过程就完成了。本地环境到服务器,服务器到服务器方法类似,最关键的是配置程序文件中wp- config.php参数,和修改数据库wp_option表中option_name 为siteurl和home的option_value记录值