Answers:
如果这是单个WordPress安装,则旧域中有几个数据库条目。具体而言,siteurl
与home
内wp_options
。
也就是说,如果dev URL是临时的,则还可以在中设置以下两个常量wp-config.php
:
define('WP_HOME', 'http://' . $_SERVER['SERVER_NAME']);
define('WP_SITEURL', WP_HOME . '/');
前提是WordPress已安装在您网站的根目录中。
这不是大问题。您的数据库包含所有以前的链接,这些链接无法自动转换。有两种解决方案:
在wp-config.php
添加此代码:
define('WP_HOME','http://'。$ _SERVER ['SERVER_NAME'])); define('WP_SITEURL',WP_HOME。'/');
通过将“ 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_
。
仅更改配置中的站点URL可能不会更新所有内部信息来为您创建一个有效的开发站点(除非该站点是简陋的)。您将遇到序列化数据无法显示以及指向旧站点的帖子中的链接的问题。
使用备份伙伴(例如Backup Buddy或Duplicator)之类的迁移工具来创建站点的完整副本,然后可以使用新URL在新位置重新部署该副本,这样会更明智。这样做,您仍将在帖子中拥有工作链接,任何自定义菜单链接等。使用其中之一将使启动更改也变得更加简单。打包好所有文件,完成后重新部署到生产站点。
如果您不想花费时间再次下载/上载所有内容,则可以使用WP Migrate DB之类的工具来迁移数据库。将其安装在您的生产站点上,使用新的URL导出数据库,然后通过phpMyAdmin或类似方法将迁移的数据库导入到您的开发人员中。如果您要安装在子文件夹中,则主题中的所有硬编码链接仍将需要更新,而.htaccess也将需要更新。
将RewriteBase行更改为:
RewriteBase /yourfolder/
和重定向到index.php的行到:
RewriteRule . /yourfolder/index.php [L]
您必须先通过管理面板更改站点地址(URL)和WordPress地址(URI),然后才能将站点移至另一个URL。
在您的情况下,您不能对实时站点执行此操作,因此可以尝试使用“ 搜索”和“替换数据库”之类的工具来更改开发人员站点数据库中的URL。
您还可以参考“ 移动WordPress”
guid
每个wp_posts
在任何附着物的情况下,使用类似UPDATE wp_posts SET guid = REPLACE('<old_url>','<new_url>', guid)