我正在子域上开发一个wordpress网站,现在我已准备好将它放在主域上。但是我在做这件事时遇到了麻烦。我按照http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory#Using_a_pre-existing_subdirectory_install
上的说明操作但问题来自于我应该重写<?php require('/wp-blog-header.php'); ?>
如果我将其更改为<?php require('_sub/wc/wp-blog-header.php'); ?>
它会给我错误:require()[function.require]:无法打开所需的'/home/tr006600/www_root../_sub/wc/wp-blog-header.php'(第17行/home/tr006600/www_root/index.php中的include_path ='。:/ usr / share / pear /')。
我认为问题是在我的提供商处,子域文件夹不在www_root内,而是一个完全独立的文件夹。我也试过这个<?php require('http://wc.example.com/wp-blog-header.php'); ?>
,但也没有解决问题。
有什么想法可以解决这个问题吗?
答案 0 :(得分:1)
将安装视为自己的站点和单独的域。基本上您要做的是将子域中的所有文件复制到根域并更新数据库以更改设置和帖子/页面中的URL。如果您使用默认表前缀,则下面是您要运行的MySQL查询。
UPDATE wp_options SET option_value = replace(option_value, 'http://sub.domain.com', 'http://www.domain.com') WHERE option_name = 'home' OR option_name = 'siteurl';
UPDATE wp_posts SET guid = REPLACE (guid, 'http://sub.domain.com', 'http://www.domain.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'http://sub.domain.com', 'http://www.domain.com');
UPDATE wp_posts SET post_content = REPLACE (post_content, 'src="http://sub.domain.com', 'src="http://www.domain.com');
UPDATE wp_posts SET guid = REPLACE (guid, 'http://sub.domain.com', 'http://www.domain.com') WHERE post_type = 'attachment';
UPDATE wp_postmeta SET meta_value = REPLACE (meta_value, 'http://sub.domain.com','http://www.domain.com');
此处提供更多信息:http://codex.wordpress.org/Changing_The_Site_URL&amp; http://codex.wordpress.org/Moving_WordPress#When_Your_Domain_Name_or_URLs_Change
答案 1 :(得分:0)
下次要移动WordPress网站时,可以考虑使用WordPress插件为您处理这项工作。
有几个插件可以帮到你。
选中此项:Golive
GoLive功能:
自动从源服务器导出数据库
自动通过FTP传输文件
使用new更新目标服务器上的wp-config.php文件 凭证。
替换数据库中的网址(帖子,页面,菜单...),然后保留 自动更新序列化对象。