Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Wordpress博客从www.site.com迁移到newdomain.com/blog_Wordpress_.htaccess_Migration - Fatal编程技术网

将Wordpress博客从www.site.com迁移到newdomain.com/blog

将Wordpress博客从www.site.com迁移到newdomain.com/blog,wordpress,.htaccess,migration,Wordpress,.htaccess,Migration,我计划迁移一个目前位于的博客 www.blog.com 到新域中的子目录,例如 newdomain.com/blog 到目前为止,我已经看到了一些关于如何做到这一点的技巧,尤其是来自Yoast(Joost)的技巧,这些技巧很有帮助,但与我的情况不同 有什么建议吗 Joost文章的主要步骤如下: [1]编辑wp-config.php define('WP_SITEURL', 'http://www.newdomain.com'); define('WP_HOME', 'http://www.new

我计划迁移一个目前位于的博客

www.blog.com

到新域中的子目录,例如

newdomain.com/blog

到目前为止,我已经看到了一些关于如何做到这一点的技巧,尤其是来自Yoast(Joost)的技巧,这些技巧很有帮助,但与我的情况不同

有什么建议吗

Joost文章的主要步骤如下:

[1]编辑wp-config.php

define('WP_SITEURL', 'http://www.newdomain.com');
define('WP_HOME', 'http://www.newdomain.com');
[2]使用搜索和替换插件替换旧URL

[3]更新。访问

Redirect 301 /blog/ http://www.newdomain.com/ // <== note this is NOT my situation
                                              // I likely need the reverse

重定向301/博客/http://www.newdomain.com/ //我建议进行干净的安装。只需将您的博客文章导出为XML,然后在上载过程中进行复制。

Wordpress有一些重写规则,它希望在.htaccess文件中使用。它应该如下所示:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
#开始WordPress
重新启动发动机
重写基/
重写cond%{REQUEST_FILENAME}!-f
重写cond%{REQUEST_FILENAME}!-d
重写规则。/index.php[L]
#结束WordPress
我认为您所需要做的就是将其放入文档根目录中的.htaccess文件(在哪里)。如果您的.htaccess文件中没有任何特殊的重写规则或选项,您可以将该文件移出/blog/并移入/。您不希望在这两个位置都使用这些规则

然后在wordpress的管理面板中(您需要转到这里:)有两个字段,一个用于
wordpress地址(URL)
(应该是这样的),另一个用于
站点地址(URL)
(应该是这样的)。我想这就是您需要做的全部

如果您使用的是自定义主题,则可能需要仔细检查页眉/页脚/等中的任何绝对URI

此处提供了有关执行此操作的更多信息:

编辑:我忘了提到您需要在文档根目录中创建index.php。在上面的链接中,在“使用预先存在的子目录安装”部分下,您需要按照步骤创建index.php。您只需要2行


至于code igniter/wordpress冲突。你可能需要让这两个规则相互协调,这可能不是那么容易做到的。你要么将code igniter的规则移动到它们自己的目录中,要么使用
RewriteCond
,以确保它们不会相互干扰。例如,添加
RewriteCond!/index.php
,以便rdpress的重写URI不会被Codeigniter重新重写。

thx@jon非常有用-如上所述
/blog
将包含WP安装-将有其他文件夹,如
/forum
,将从同一域上的Codeigniter安装运行-因此我认为我不能在
/
中使用您的重写规则,因为将应用于整个域,它只需要应用于WP所在的
/blog
。这会改变您上面规则的语法吗?只需在
/forum
中粘贴一个空的.htaccess文件。或者只需在其中关闭
重写引擎
。文档根目录中的规则不会应用于/forum/OK-这是因为我在中已经有了.htaccessode>/
重写Codeigniter的URL,因此如果我在
/forum
根目录中放置一个空的URL。htaccess将不会生效,并且必须提醒您需要在文档根目录中创建index.php。我提供的链接中概述了所有步骤。至于让这两条规则相互配合,这完全是一个di无关紧要的问题。