概述
由于审美疲劳,近期更换了joe主题,由于各主题定义的字段不一致,为了让内容正常显示,就需要通过数据库进行替换字段,无意中发现了两个问题,也是耗费了挺多时间才解决,特此记录一下,方便同样问题的小伙伴快速解决。
正文
description无内容
在SEO中,title,keywords,description可以说是三要素,但替换主题后,发现description的显示值没有,joe主题默认是要截取文章的前多少个字来填充的,但,我的文章description就是空白。查找了好久,才发现是一个下划线惹的祸。
位置在:\public\include.php
<meta name="description" content="<?php echo $this->fields->description ? $this->fields->description : htmlspecialchars($this->_description); ?>" />
上面代码中_description,修改为:description,即可
换域名报错500
typecho的数据库并不复杂,没几张表,尤其是记录域名和基本设置的表格:typecho_options,设置的参数也没几个,正常情况下,我们只需要把这张表中的siteUrl字段,填写自己的新域名即可,但是我连续好几次操作后,得到的结果都是网站不能正常访问,报错500,具体显示内容,我记不住了。
搞得我崩溃,差点要重装typecho,不过,最终还是在网上找到了答案,也是一个细节,当我们替换域名后,回车,弹出提示框:“影响了一行”,大多数人都以为更换已完成。
此时,访问网站就会报错500
注意看命令行:
UPDATE `typecho_options` SET `value` = '新域名' WHERE `typecho_options`.`name` = 'siteUrl' AND `typecho_options`.`user` = 0;
我们应该在命令行,点击编辑,利用命令对url进行更新,虽然会再次提示:“影响了0行”,但此时你的网站访问应该已经恢复了 (记得清除浏览器缓存哦)
这应该是属于数据库管理phpmyadmin的一个小bug,如果全程采用命令行替换域名的话,应该不会出现这个报错。
结尾
以上就是我近期发现的两个问题,目前描述看似简单,但在未知原因情况下,排查起来很痛苦,尤其是我这种啥都不懂的小白级别。goodluck!