移动WP网站时,为什么wp-admin重定向到旧网站?


16

我正在将WP网站从一台主机转移到另一台主机。我复制了数据库和所有文件,创建了一个新数据库,然后导入了旧数据库。然后,我更改了wp-config文件。主页显示正常,但是当我尝试访问/ wp-admin时,它将带我回到旧站点。

新站点是一个开发服务器,我打算在该站点上线之前进行样式更改。

我对这种过渡遗漏了什么?如何使网站正确响应开发者网址?

Answers:


22

如果这是单个WordPress安装,则旧域中有几个数据库条目。具体而言,siteurlhomewp_options

也就是说,如果dev URL是临时的,则还可以在中设置以下两个常量wp-config.php

define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');

前提是WordPress已安装在您网站的根目录中。


您还需要更新guid每个wp_posts在任何附着物的情况下,使用类似UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)
Cyclonecode

2
GUID不应更改。在此处了解更多信息:codex.wordpress.org/Changing_The_Site_URL#Important_GUID_Note
NightHawk

4

这不是大问题。您的数据库包含所有以前的链接,这些链接无法自动转换。有两种解决方案:

  1. wp-config.php添加此代码:

    define('WP_HOME','http://'。$ _SERVER ['SERVER_NAME']));
    define('WP_SITEURL',WP_HOME。'/');
  2. 通过将“ oldurl”替换为上一个链接并将“ newurl”替换为当前链接来更改以下SQL:

UPDATE wp_posts SET guid = replace(guid, 'oldurl','newUrl'); 

UPDATE wp_posts SET post_content = replace(post_content, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_url = replace(link_url, 'oldurl', 'newUrl'); 

UPDATE wp_links SET link_image = replace(link_image, 'oldurl', 'newUrl'); 

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_usermeta SET meta_value = replace(meta_value, 'oldurl', 'newUrl'); 

UPDATE wp_options SET option_value = replace(option_value, 'oldurl', 'newUrl') WHERE option_name = 'home' OR option_name = 'siteurl';

在您的数据库中运行这些SQL查询,如果您有不同于的内容,请更改前缀wp_


2

仅更改配置中的站点URL可能不会更新所有内部信息来为您创建一个有效的开发站点(除非该站点是简陋的)。您将遇到序列化数据无法显示以及指向旧站点的帖子中的链接的问题。

使用备份伙伴(例如Backup Buddy或Duplicator)之类的迁移工具来创建站点的完整副本,然后可以使用新URL在新位置重新部署该副本,这样会更明智。这样做,您仍将在帖子中拥有工作链接,任何自定义菜单链接等。使用其中之一将使启动更改也变得更加简单。打包好所有文件,完成后重新部署到生产站点。

如果您不想花费时间再次下载/上载所有内容,则可以使用WP Migrate DB之类的工具来迁移数据库。将其安装在您的生产站点上,使用新的URL导出数据库,然后通过phpMyAdmin或类似方法将迁移的数据库导入到您的开发人员中。如果您要安装在子文件夹中,则主题中的所有硬编码链接仍将需要更新,而.htaccess也将需要更新。

将RewriteBase行更改为:

RewriteBase /yourfolder/

和重定向到index.php的行到:

RewriteRule . /yourfolder/index.php [L]

0

您必须先通过管理面板更改站点地址(URL)和WordPress地址(URI),然后才能将站点移至另一个URL。

在您的情况下,您不能对实时站点执行此操作,因此可以尝试使用“ 搜索”和“替换数据库”之类的工具来更改开发人员站点数据库中的URL。

您还可以参考“ 移动WordPress”


0
  1. phpMyAdmin:转到wp_options表集homeurlsiteurl作为新的URL
  2. 登录到您的wp-admin仪表板去setting->general 更改WordPress地址(URL)和站点地址(URL)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.