适用于阿里云ACE的WordPress Rewrite规则
2014-08-06随着阿里云ACE(阿里云引擎)功能的日臻完善,我最近在考虑将博客迁移到ACE平台上。因为我的博客中的大部分URL都使用了Rewrite,可是偏偏网络上并没有适用于阿里云ACE的,所以我只能自己写了。
在经历了繁复的拼凑过程之后,终于给搞出来了:
rewrite:
- url: ^$
script: /index.php last
- url: ^/(?!wp-)([\w/_-]+(\.html$)?)$
script: /index.php/$1 last
这段规则由两部分构成:
第一条Rewrite语句用于对首页进行重写,比如用户访问“http://mawenjian.aliapp.com/”,服务器会将请求重写到“http://mawenjian.aliapp.com/index.php”。如果没有这一条规则的话,就会出现找不到首页的情况。
第二条用于对分类页面、TAG页面、文章页面等的URL进行重写。这条规则规定,如果URL中的字符由字母、数字、“-”、“/”或者“_”组成,并且:1)不以“wp-”开头;2)无后缀或者后缀是".html",则将其由WordPress程序处理。因此,无论是对于以“wp-”打头的WordPress系统文件,还是上传的图片文件,就都不会出现不能正确返回原文件的情况了。
因为每个WordPress博客的固定链接可能并不相同,所以如果你想测试下这段规则是否适用于你的网站,不妨使用正则表达式验证工具测试下。我觉得中国站长站的正则验证工具(http://tool.chinaz.com/regex)就挺不错的。需要注意的是,在做正则验证时,路径应当从“/”写起,而不是从“http://”。比如我要验证的URL是“https://mawenjian.net/p/1270.html”,那么在下边的文本框中就应该填写“/p/1270.html”,而不是“https://mawenjian.net/p/1270.html”。
购买了两年的阿里云ECS,到期了再说啦,况且我还购买了他们的RDS和CDN