使用htaccess将WordPress博客存档/迁移到新的子域

时间:2017-04-22 15:51:21

标签: wordpress .htaccess

背景

让我们调用有问题的域mydomain.com

我已经运营了几年的博客,我想退休,所以我可以将域名用于其他事情。

此域中的所有博客帖子都有/blog/前面的网址。因此,我的目标是将mydomain.com/blog/*归档/迁移到archive.mydomain.com/blog/$1

警告:在子域名下,我运行另一个我喜欢影响或改变的博客。

我们称之为important_blog.mydomain.com

我想要实现的目标

  • 对以mydomain.com/blog/*开头的任何网址的当前请求应 301 - 重定向到archive.mydomain.com/blog/$1
    • 假设我将a)更新我的DNS记录,b)移动文件和b)更改WordPress设置以适应这种情况。
  • 对{em>其他而非/blog/important_blog.mydomain.com/*的任何新请求应被视为正常,即不会被重定向。

我想弄清楚

mydomain.com/.htaccess的内容应该是什么?

后记

我们的想法是运行此设置,以便Google和其他搜索引擎感到满意,并将旧博客的条目重新路由到archive子域。

然后我将删除/blog/重定向并在主域上运行不同的博客。

1 个答案:

答案 0 :(得分:0)

比我想象的容易得多。将所有文件移至/archive,更新数据库中与wp_optionssite_url相关的home设置,并将其添加到上面的标准WordPress .htaccess文件中所有规则但低于RewriteBase

RewriteRule     ^/blog/(.*) archive/blog/$1 [NC,NE,R=301,L]

执行以下步骤:

  1. 检查网址是否与包含/blog/的模式匹配,无论是哪种情况(NC)。两个正斜线确保它不会捕获例如blog作为网址中术语的一部分。
  2. 如果是这样,它将执行301重定向(R=301)而不转义任何字符(NE
  3. 密钥:上述内容作为最后一个(L)规则运行,可防止运行任何默认的WordPress规则。