这个问题经常出现在搬家后,或者站点新建时。因为这很可能是主机原因造成的。
一般我们在 Typecho 点击按钮保存插件设置后,会返回插件页面并显示一条条,上面写着“插件设置已经保存”。但是由于某些特殊原因,可能会返回后台管理首页,什么也没有提示,这个时候插件设置是没有保存的。这时候,博客表面上能正常访问无误,但是涉及到内部问题,就可能会出错,如用插件发送邮件时,模板设置时有问题。
我们已经说过这是主机原因了。那再具体一点儿呢?是地址重写(Rewrite)的原因,通俗来讲就是“伪静态”的事情。伪静态不完美!如何令人信服呢?在“设置——永久链接”里面将地址重写禁用,再尝试修改插件设置,你就会发现问题不存在了。
Linux 主机出现这个问题通常是因为 .htaccess 内容规则出错。幸运的是,在 Typecho 后台管理设置永久链接那个地方,可以先禁用再开启地址重写,大多数情况下这个问题会得到解决;一些情况下仍然会存在这个问题,那应该就是 PHP 解析引擎的错了:已经报告且本人也发现 kangle 中枪了,换个“引擎”吧,亲!
Windows 主机的解决办法?说实话,大家都认为 PHP 程序最好不要放在 Windows 主机下执行,我想其中一个原因就是伪静态比较麻烦(当然如果服务商设置好了这个也不是问题)。如果你不幸成为 Windows 主机存在这个问题的人,最好的办法应该是联系主机商要求安装 isapi rewrite 3.1 完整版来使主机支持 .htaccess 伪静态规则。
我可以保证以上解决方案适用于绝大部分情况。若问题仍然得不到解决,请坚定地联系主机商:要么你们解决这个问题,要么我们要求退款。
恩,确实是“伪静态” 设置不完美导致的。。。修改了nginx和php设置。。