Born to be proud
8/10
2014

Typecho在SAE上的伪静态化

伪静态是相对真实静态来讲的,通常我们为了增强搜索引擎的友好面,都将文章内容生成静态页面,但是有的朋友为了实时的显示一些信息。或者还想运用动态脚本解决一些问题。不能用静态的方式来展示网站内容。但是这就损失了对搜索引擎的友好面。怎么样在两者之间找个中间方法呢,这就产生了伪静态技术。就是展示出来的是以html一类的静态页面形式。伪静态重写了URL的表现形式,实际上还是动态页面,严格意义上增加了服务器的消耗。(百度百科)

未实现伪静态前该篇文章的地址是:www.liu13.com/index.php/dmjs/typecho-sae-rewrite
实现伪静态后的地址是:www.liu13.com/typecho-sae-rewrite.html
下面来说一下Typecho在Sae上如何实现伪静态。

开启SAE的地址重写功能,进入SAE管理的后台,在左侧功能面板中打开AppConfig,然后在AppConfig页面找到URL重写(rewrite)模块。点击“设置该项”,在弹出的对话框中,找到“确认”和“取消”按钮,在其旁边有个“高级语法”,打开。在AppConfig语法中填下以下内容:

- rewrite: if(!is_dir() && !is_file()) goto "index.php?%{QUERY_STRING}"

也可直接在代码管理中打开config.yaml文件添加到最后一行(一定要添加到最后一行)
进入Typecho后台>>设置>>永久链接,先修改一下文章自定义路径地址,启用地址重写功能,点击保存,出现红字提示,忽略仍然启用即可。

出现红字的原因是typecho默认的方法是修改htaccess文件,而sae上用config.yaml代替了。
另外修改完成以后想要更换文章自定义路径地址是存在Bug的,需要先关闭地址重写功能,再更换文章自定义路径地址,再启用地址重写功能。