我在将wordpress网站从一个域移动到另一个域时遇到问题。我搜索了网站,但无法找到适合我情况的有用答案。
这就是我所做的:
我对该网站进行了备份。然后我导出了数据库。 然后我在另一个域上安装了Wordpress。 然后我在新服务器上复制旧网站的所有Wordpress文件,覆盖新安装。然后我从新服务器上的数据库中删除了所有内容,并导入了旧服务器的数据库。然后我在wp-config文件中更改了数据库名称和bpassword。
所以我做了这一切,但是新网站没有用,我不知道它出了什么问题? 所以我想重新开始,但我应该做些什么呢?
谢谢你的帮助!
答案 0 :(得分:4)
您可以在phpmyadmin中运行这些sql查询,以便在移动网站选项,发布帖子/页面内容中的URL和URL后更改数据库中的URL:
UPDATE wp_options SET option_value = replace(option_value, 'http://olddomain.com', 'http://newdomain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = replace(guid, 'http://olddomain.com','http://newdomain.com');
UPDATE wp_posts SET post_content = replace(post_content, 'http://olddomain.com', 'http://newdomain.com');
2014年4月22日编辑:这是一个更好的解决方案,不会破坏PHP序列化数据: interconnectit.com WordPress Serialized PHP Search Replace Tool
答案 1 :(得分:3)
您需要做的主要事情是将数据库中的2个字段更新为正确的域。
可以通过几种不同的方式完成。
方法1:
将此行添加到您的wp-config.php文件中,然后访问http://yournewdomain.com/wp-admin.php并登录。这将强制更新:
define('RELOCATE',true);
登录后,您应该删除该行。
方法2:
将这2行添加到主题的functions.php文件中,该文件位于wp-content / themes / themename / functions.php
update_option('siteurl','http://example.com/blog');
update_option('home','http://example.com/blog');
之后,您需要更新每个帖子的GUID。在phpMyAdmin或mysql命令行中发出:
UPDATE wp_posts SET guid = REPLACE (
guid,
'http://exampleoldsiteurl.com',
'http://examplenewsiteurl.com');
将exampleoldsite和examplenewsite替换为相应的域。
找到答案 2 :(得分:2)
您可能需要编辑数据库中的某些字段并更新管理区域中的设置。这里有一个很好的指南
http://codex.wordpress.org/Moving_WordPress#Moving_WordPress_to_a_New_Server
我认为最简单的方法可能是:
- 安装新的Wordpress博客
- 转到旧博客管理面板。在这里,在Manage>中导出在菜单中选择“全部” 限制作者。
- 点击下载导出文件
- 在新博客中,点击“管理”>导入,选择Wordpress项目。
- 在将要显示的页面中,选择刚导出的文件。点击 上传文件和导入
- 会出现一个页面。在“分配作者”中,将作者分配给用户 已存在或创建新的。
- 点击提交
- 最后,点击“玩得开心”
答案 3 :(得分:1)
而不是在新服务器上安装Wordpress。将旧文件复制到新服务器,导入数据库并更改wp-config。我发现这有用How to Transfer a WordPress website to another Host
答案 4 :(得分:0)
还有一个工具适用于那些不自信运行SQL更新脚本的人,可在以下位置找到:
Search and Replace for WordPress DB
请记住在对数据库执行所需操作后删除文件,因为该脚本公开了wp-config.php中的数据库用户名/密码;)