设置wordpress网站从实时到本地,URL不起作用

时间:2018-03-27 11:56:29

标签: wordpress hyperlink xampp relative-path absolute-path

3/26:我在实时服务器上创建了Wordpress网站。我将副本下载到我的XAMPP服务器。我导出了数据库并创建了一个本地数据库。我修改了wp-config.php文件以连接它。这一切都有效。但是,我无法使用导航栏中的任何链接,也无法打开任何页面和帖子。所有这些超链接都具有使用实时服务器域名的绝对地址。我可以添加目录路径并转到localhost下的“/index.php”,但所有其他路径都是开放式的,没有文件名,它们不起作用。如果我不使用“index.php”并且只有“/”它将不会进入主页。对于主页,如果我省略“index.php”文件名,它将有标题和导航栏并说“糟糕!找不到该页面”。如果我使用开放式链接到其他任何东西,它会说“建立数据库连接时出错。”

3/27:非常感谢您的回复!我安装了一个尚未使用的插件,称为“Velvet Blues Update URL”。我会尝试一下。我还有“All-in-One WP Migration”和“Duplicator”,但网站的大小超过600mb,因此这些版本的免费版本将无效。

3 个答案:

答案 0 :(得分:1)

您可以在本地安装中使用临时URL,方法是编辑wp-config.php并定义WP_HOMEWP_SITEURL,例如。

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

答案 1 :(得分:1)

我假设您已在本地安装中克隆了数据库。如果是这种情况,则必须更新数据库中的所有条目以匹配本地安装的URL。

如果活动网站被调用http://example.com,您应该找到它的每一次出现并将其更改为http://localhost/my_install

UPDATE wp_options SET option_value = replace(option_value, 'http://example.com', 'http://localhost/my_install') WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = REPLACE (guid, 'http://example.com', 'http://localhost/my_install');

UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://example.com', 'http://localhost/my_install');

UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://example.com', 'http://localhost/my_install');

UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://example.com', 'src="http://localhost/my_install');

UPDATE `wp_posts` SET `guid` =  REPLACE( `guid` , 'http://example.com' , 'http://localhost/my_install' ) WHERE `post_type` = 'attachment';

UPDATE wp_posts SET  guid = REPLACE (guid, 'http://example.com', 'http://localhost/my_install') WHERE post_type = 'attachment';

此SQL查询应该为您执行此操作。只需用您的实际数据替换虚拟数据即可。并重新保存永久链接结构(设置 - >永久链接)。

答案 2 :(得分:1)

将WP从本地服务器移动到实时服务器一直很令人头痛。为此,这是一个我经常使用的插件,再也不会遇到任何问题。 https://fr.wordpress.org/plugins/duplicator/

您应该使用它来迁移您的网站。顺便说一句,如果你不使用该插件,你可以在移动到Live Server DB之前在DB文件中找到替换所有URL。