CentOS6 32位安装Ghost(3)

我在 Ghost 导入数据时(你的ghost博客地址/ghost/debug ),遇到提示 slug 长度不能大于 150 的提示。我看了一下 WordPress 导出的数据中,如果 slug 含有中文会被默认 urlencode,导致长度过大。

系统的默认提示为

“Property ‘slug’ exceeds maximum length of 150.”

我写了一个简单的 node 脚本处理这个问题:

var fs = require('fs'); //data.json是原来导出的文件 fs.readFile('data.json', {encoding: 'utf-8'}, function(err, data){ if(err) throw err; data = JSON.parse(data); data.data.posts.forEach(function(v){ v.slug = decodeURIComponent(v.slug); }); //data-new.json是处理后的文件,在Ghost后台导入该文件即可 fs.writeFile('data-new.json', JSON.stringify(data), function (err){ if(err) throw err; console.log('solved!'); }); }); 图片的导入

首先将你Wordpress里的/wp-content/uploads目录压缩后,然后在 /var/www/content/images下新建一个目录名为wp-content,然后压缩包上传到 Ghost 所在的 /var/www/content/images 目录中,最后解压缩。

新的目录结果如下:

. ├── data │  └── README.md ├── images │  ├── README.md │  └── wp-content ├── plugins │  └── README.md └── themes └── casper

然后就没有然后了,在上一步配置 nginx 的时候我们加入的

location /wp-content/ { root /var/www/content/images; }

语句,意思就是请求 uri 包含 /wp-content/ 时,从 /var/www/content/images/ 中获取数据,举个例子。

原请求:

/wp-content/uploads/2014/01/abc.jpg

经过 nginx 处理,变成了:

/var/www/content/images/wp-content/uploads/2014/01/abc.jpg

这样图片就能顺滑的显示了。

原链接跳转

我原来在 WordPress 中设置的链接形式是:

/%year%/%month%/%post_name%/

但是 Ghost 只支持:

/%year%/%month%/%day%/%post_name%/ (在Ghost后台设置)

/%post_name%/

两种,因此我配置了 nginx 对请求进行简单的跳转。

rewrite ^/(d+)/(d+)/(.*)$ http://linuxidc.com/$3 permanent;

nginx 的跳转语法比较简单,都是基本的正则,你可以根据自己的需求进行调整。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/73055b7d20a07366abe2451baa74248f.html