聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

新站第一篇,迁移drupal到wordpress

2013-09-30 08:51 浏览: 10071 次 我要评论(0 条) 字号:

终于抛弃drupal投入到wordpress阵营了,哈哈。WP确实比DP好用,此处省去五百字…

以前一直在纠结怎么迁移,迁移后旧数据怎么办,有无平滑方案,想破脑袋都没主意,数次动过迁移念头,数次又被消灭。前几天DP通知可以从7.22升级到7.23,可无论如何都升级不成功,预计痛下决心进行迁移。

我现在后台用的是nginx+php-fpm模式,在同事的帮助下经过一番尝试后,终于搞定平滑升级方案:

1. 启用新站直接对外提供服务
2. 将原来的虚拟主机改名,比如把 imysql.com 改成现在的 dp.imysql.com:8080(由于我的server_name采用泛域名,因此这里需要使用非80端口)
3. 将所有对旧站的请求转发到 dp.imysql.com:8080 上

这样,就可以对外提供新站服务的同时,原有被搜索引擎收录的旧链接也能被正常打开。在nginx中,可参考如下配置:

#
# /sites/.* 、 /files/.* ... /image_captcha/.* 是drupal相关请求目录,在wordpress中不会出现,放心转发
# .*.html 是我以前使用drupal时,url path的规则,以 .html 结尾,启用wordpress后,我的url path结尾改成 .shtml 了,所以也可以放心转发
# 上面规则设定完后,通过proxy_pass将符合特征的请求直接转发给 8080 端口了,也就是 dp.imysql.com:8080
#
location ~ ^/(sites/.*|file/.*|scripts/.*|admin/.*|node/.*|user/.*|image_captcha/.*|.*.html) {
    proxy_set_header        Host dp.imysql.com:8080;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass              http://127.0.0.1:8080$request_uri;
}

nginx我也不是非常熟悉,所以上面的正则表达看起来比较土,有什么比较好的麻烦大家告知,谢谢。



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复