Typecho for sae使用问题总结与解决办法
后台技术
这两天将博客程序从WordPress转到了Typecho,WordPress强大,Typecho简洁高性能,的确是比较难下定决心换,但考虑到如果申请顶级域名再换就更麻烦了,不如早换早超生= =||
但过程中却遇到了一些问题,大部分已经解决,在这里总结一下。
1. 当文章作者邮箱中包含大写时,无法获取到Gavatar头像
是Gavatar头像是以邮箱小写的md5值来获取的,而Typecho在获取文章作者头像时没有转换小写。
解决方法是打开var/Widget/Abstract/Users.php文件,将:
md5($this->mail)
替换成:
md5(strtolower($this->mail))
2.当文章代码中两个块容器之间有换行符时,没有将换行符删除
Typecho会将单个换行转换为<br>,两个换行转换为<p> </p>,但如果文章中已经包含两个块容器,而两个块容器之间有换行符,如<h3> </h3>等,会因为多出一个换行而使得行距变得非常大,极度影响了美观。
解决方法是打开var/Typecho/Common/Paragraph.php文件,在:
$text = str_replace("\r\n", "\n", trim($text));下加一行:
$text = preg_replace("/( )\n/", "\\1", $text);3.404页面乱码
进入不存在的页面,将进入主题的404界面,但会出现数字乱码,导致网页无法正常解析。
解决方法是打开var/Typecho/Response.php文件,将194行的:
header('HTTP/1.1 ' . $code . ' ' . self::$_httpCode[$code], true, $code);替换成:
header(isset($_SERVER['SERVER_PROTOCOL']) ? $_SERVER['SERVER_PROTOCOL'] : 'HTTP/1.1' . ' ' . $code . ' ' . self::$_httpCode[$code], true, $code);
4.CommentToMail for sae插件后台回复无法邮件通知作者
解决方法是打开/var/Widget/Comments/Edit.php文件,将
/** 评论插件接口 */ $this->pluginHandle()->comment($comment, $this); ...... /** 评论完成接口 */ $this->pluginHandle()->finishComment($this);
分别替换为:
/** 评论插件接口 */
$this->pluginHandle('Widget_Feedback')->comment($comment, $this);
......
/** 评论完成接口 */
$this->pluginHandle('Widget_Feedback')->finishComment($this);
5.开启Typecho的地址重写功能
修改AppConfig,在下方添加
handle:
- rewrite: if(!is_dir() && !is_file()) goto "index.php?%{QUERY_STRING}"
上传之后,然后在后台“设置”=>“永久链接”=>“启用地址重写功能”。
但需要注意的是当启用地址重写功能时,Typecho for sae是无法修改自定义文章路径与独立页面后缀名的,如果要修改,必须先取消启用地址重写,修改完自定义文章路径或独立页面后缀名后再重新启用。
6.为Akismet 反垃圾评论插件设置密钥时,提示您使用的服务密钥错误
解决方法:使用CommentFilter插件。
7.使用Typecho ping插件,发布或修改文章时出现500错误
解决方法:使用本人编写的Typecho Ping插件,稍后整理提供。
如需转载请注明出处:杰拉斯的博客
这么看来头像还需要Trim一下。
对比头像么?没区别呀?
我记得我评论居然可以打空格,会影响头像获取。
对比一下这两条评论吧!
话说博主的代码高亮 用的什么插件啊 还是用的什么编辑器带的高亮代码啊??? 求指教