首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >博客网址重定向

博客网址重定向
EN

WordPress Development用户
提问于 2013-08-27 02:26:26
回答 1查看 144关注 0票数 1

我曾经在服务器(srv71)上用域名主持一个word新闻博客和一个论坛。几天前,我把我的整个站点转移到一个新服务器(srv14),但是我没有更新我的dns,我已经关闭了以前的服务器srv71。因此,访问my.domain.name/blog或my.domain.name/phpbb将导致超时错误。我试着用IP地址连接我的新博客和论坛,出现了这个问题。

访问论坛是可以的(my.ip.addr.14/phpbb),但是博客会尝试将我重定向到my.domain.name/ blog,而不是my.ip.addr.14/blog。

我查看了wp-config.php并发现了这一行:

代码语言:javascript
运行
复制
define( 'DOMAIN_CURRENT_SITE', 'my.domain.name' );

我想我得到了它,并将'my.domain.name‘替换为'my.ip.addr.14',然后访问my.ip.addr.14/blog wourd返回一个建立数据库连接错误( wp-config.php中的所有数据库、用户名、密码、主机名都是正确的,我确信是这样的)。

然后我注释掉了这一行,将其保留为默认值。然后,my.ip.addr.14/blog将我重定向到my.domain.name/blog。

然后备份我的博客数据库,删除.htaccess和wp-config.php,重新安装并生成新的.htaccess和wp-config.php文件。现在,my.ip.addr.14/blog会显示一个空博客,上面写着“hello world”,默认情况下这是第一篇文章。然后我导入了数据库,并再次将my.ip.addr.14/blog重定向到my.domain.name/blog。我检查了“wp_”表,如wp_options和wp_site,但没有发现站点url的手动设置值(均为NULL)。

新生成的.htaccess与以前的.htaccess文件相同。前者的wp-config.php比新创建的(默认)wp-config.php长8行:

代码语言:javascript
运行
复制
define('WP_ALLOW_MULTISITE', true);
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false);
$base = '/blog/';
define( 'DOMAIN_CURRENT_SITE', 'my.domain.name' );
define( 'PATH_CURRENT_SITE', '/blog/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

有谁曾处理过类似的问题?谢谢!

EN

回答 1

WordPress Development用户

回答已采纳

发布于 2013-08-27 05:10:59

根据您发布的代码,我可以看到您已经创建了一个Multisite安装。我猜这是个错误。我建议您删除新安装,上载旧站点备份并导入旧数据库备份。

更新数据库

好了,现在一切都恢复了,您需要更新数据库中的所有URL才能在新地址运行,因为Wordpress使用绝对URL。您可以通过像phpMyAdmin这样的工具直接编辑数据库来做到这一点。

--我警告大家先备份他们的数据库,但你已经有了,对吗?

首先,在wp_options表中,您需要将siteurlhome更新到站点正在运行的新域/IP。不要在URL末尾包含一个尾随斜杠/。就像这样。

代码语言:javascript
运行
复制
http://123.123.123.123/blog

一旦这是正确的,你应该能够登录。

现在,如果您打算在新地址运行该站点,则需要更新数据库中的其余URL。链接到媒体,如图片和PDF将被打破,否则。

在两个数据库中有3个字段需要更新。

wp_posts表

  • guid
  • post_content

wp_postmeta表

  • meta_value

下面是更新这些内容的MySQL查询。用您的地址交换http://www.olddomain.comhttp://www.newdomain.com

代码语言:javascript
运行
复制
UPDATE wp_posts SET guid = replace(guid, 'http://www.olddomain.com', 'http://www.newdomain.com');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.olddomain.com', 'http://www.newdomain.com');

UPDATE wp_postmeta SET meta_value = replace(meta_value, 'http://www.olddomain.com', 'http://www.newdomain.com');

整理细节

您的站点应该已经准备好在新地址运行了。wp_options表中可能还有其他需要更新的URL条目。这通常是主题和插件使用的数据。

您通常可以在您的主题设置,插件设置,等等更正这些。

您不能用我上面发布的查询更新wp_options表,因为数据通常是序列化的,这些查询会破坏所有的查询。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/111762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档