【问题标题】:Migrating Wordpress blog from www.site.com to newdomain.com/blog将 Wordpress 博客从 www.site.com 迁移到 newdomain.com/blog
【发布时间】:2011-11-21 18:42:48
【问题描述】:

我正计划迁移当前托管在

的博客

www.blog.com

新域中的子目录,例如

newdomain.com/blog

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

有什么建议吗?

Joost的文章主要步骤如下:

[1] 编辑 wp-config.php

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

[2] 使用搜索和替换插件替换旧网址

[3] 更新 .htaccess 到

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

但是,这并不能满足我的特殊需求,其中可能需要对 .htaccess 和 wp-config.php 进行不同的更改。

有什么建议吗?

【问题讨论】:

    标签: wordpress .htaccess migration


    【解决方案1】:

    Wordpress 有一些要在 .htaccess 文件中使用的 RewriteRules。它应该看起来像这样:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    # END WordPress
    

    我认为您需要做的就是将其放入文档根目录中的 .htaccess 文件中(http://www.newdomain.com/ 所在的位置)。如果您的 .htaccess 文件中没有任何特殊的重写规则或选项,您可以将文件移出 /blog/ 并移入 /。你在这两个地方都需要这些规则。

    然后在 wordpress 的管理面板中(您需要转到这里:http://www.newdomain.com/blog/wp-admin/options-general.php)有 2 个字段,一个用于 WordPress address (URL)(应该说是 http://www.newdomain.com/blog/)和一个用于 Site address (URL)(应该说http://www.newdomain.com/)。我认为这就是你需要做的所有事情。

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

    这里有更多关于这样做的信息:Giving Wordpress It's Own Directory

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

    至于 code-igniter/wordpress 冲突。您可能需要让 2 条规则相互配合,而这可能并不容易做到。您要么必须将 code-igniter 的规则移动到它们自己的目录中,要么使用 RewriteCond 以确保它们不会相互影响。例如,添加RewriteCond !/index.php 这样wordpress 重写的URI 不会被code-igniter 重写。

    【讨论】:

    • thx @jon 非常有帮助 - 如上所述 /blog 将包含 WP 安装 - 还有其他文件夹,如 /forum 将从同一域上的 Codeigniter 安装运行 - 所以我不'认为我不能在/ 中使用您的重写规则,因为这将适用于整个域,它只需要适用于 WP 所在的/blog。这会改变上述规则的语法吗?
    • 只需在/forum 中粘贴一个空的.htaccess 文件。或者只是将RewriteEngine Off 放入其中。文档根目录中的规则不适用于 /forum/
    • OK - 我在/ 已经有一个.htaccess,它重写了Codeigniter 的URL,所以如果我在/forum 中放一个空的,根.htaccess 将不会生效,它必须
    • 忘了提到您需要在文档根目录中创建一个 index.php。我提供的链接中概述了所有步骤。至于让 2 条规则相互配合,这是一个完全不同的问题。
    【解决方案2】:

    我建议进行全新安装。只需将您的博客文章导出为 XML,然后复制上传的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-18
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-19
      相关资源
      最近更新 更多