北极寒流 » 网络资源 » WordPress更换域名后不手动修改数据库的简单解决方案 - 2011.01.17

WordPress更换域名后不手动修改数据库的简单解决方案

WordPress更换域名后不手动修改数据库的简单解决方案。一般情况下,博客是很少更换域名的,但是如果真的遇到必须更换域名的时候,我们又该怎么样去把原来网站的所有站内连接一次性转到新域名来呢?懂得手工处理数据库的朋友也许喜欢手动来修改数据库,不过直接修改数据库还是有危险性的。对于菜鸟来说一不小心就数据挂完。那有没有简单的让WordPress更换域名后不手动修改数据库的简单解决方案呢?看下面的教程。

WordPress博客更改域名地址,在成功导入数据库和转移网站数据库后,还需要修改HOME和SITEURL两个地址。通常都是通过修改数据库来实现修改。现在有简单方法来实现了……
使用方法:下载文件直接运行http://yourdomain.com/siteurl.php文件 数据库自动重置。php文件内置代码:

<?php
//https://blog.epinv.com/post/172.html
//WordPress更换域名后不手动修改数据库的简单解决方案
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='/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;
}
}
?>

补充使用步骤:

1 下载附件php文件文件名称为siteurl.php
2  将此文件放到网站根目录:
3 将文件此文件在浏览器中访问一次:
举例:
将本地测试的WordPress程序上传到服务器上,本地测试环境数据存储的信息都为:http://localhost/
将所有程序上传到服务器上,数据库也还原后,只要访问执行一次http://你的域名/siteurl.php文件
数据库中会自动更新将http://localhost/替换为:http://你的域名

不过要注意的是文章中的图片图片等地址不会变

所需文件下载地址1下载地址2( 提取码: 8zr2)