自从百度 BAE 开放给公众开发者使用以来,相信有不少 WordPress 粉丝将其博客迁移到 BAE 上,但是在百度 BAE 上实现 WordPress 的 伪静态和固定链接的方法与独立主机的方法不相同,不能通过 WP 后台的简单设置实现。固定的文章链接对于一个博客来说是比较重要的,伪静态有利于搜索引擎优 化,如果链接的格式若不尽早确定,日后再想改变将是一件非常麻烦的事情。

虽然百度 BAE 官方客服说 BAE 暂时不支持伪静态,但是我们从官方的 BAE 帮助文档中还是可以找到实现 WordPress 伪静态和固定链接的方法。 BAE 的程序配置信息中有一项 url 配置功能,这是类似睦 url rewrite 的功能。这个功能将符合匹配规则的 url 重写到指定的脚本处理。 Rewrite 规则可以配置多条。顺序是从上往下依次匹配,遇到第一个匹配 成功的即结束配置过程。另外, 并不需要请求的 uri 完全匹配指定的正则,只要其中有部分内容匹配即可。例如:

既然 BAE 有类似 url rewrite 的功能那么我们应该就可以实现 WordPress 的伪静态和固定链接功能了。下面我将详细教大家如何实现:

1 、首先登陆到百度开发者平台,在 「管理中心」 打开一个你的 WordPress 应用,然后依次打开 「高级」-「配置」,如下图:

2 、第二步,在打开的 「程序配置信息」 中,点击 「添加」 规则。例如:

需要注意的是,添加完成后一定要点击保存,这样才能正式生效。

完整配置信息如下:

对于以上规则,系统是从上往下依次生效的,因此顺序也很重要。对于以上规则的一些说明:

我们看到其中有一条/archives/.*.html 这样的规则,这个规则很重要。我看到有些人说使用/.*/.*.html 这样的规则,其实这 是不对的。至少对于在使用百度 UEitor 编辑器的 WordPress 上是不对的,会导致无法在编辑器中上传图片等错误。如果你的固定链接使用的是 /archives/%postname%.html 这样的结构,那么你就必须使用/archives/.*.html 这样的 BAE url 规则。

另外,大家也看到有/aboutme 和/weibo 这样的两条规则,这是针对单页的。 aboutme 和 weibo 分别是我两个单页固定链接的名字。如果你添加了单页,那么你需要将单页的固定链接名字添加到 url 规则中。