胡东东博客

typecho自定义公益404页面和搜索bug的备忘


在微信群里看到了一个找孩子的视频,除了抱怨一下家长玩手机粗心大意,忽然冒出了个想法,也想把自己博客的404页面修改成公益类型的,能多一个展示机会就多一次希望。

1、typecho设置自定义404页面

官方文档中提到typecho设置自定义404页面很简单,只需要如下两步即可

2、访问随便访问404页面报错不跳转

设置了自定义404页面,可以尝试随便访问一个不存在的网址,如果可以正常跳转到404页面就算正常了,如果随便访问不存在的页面总是会提示报错,并没有跳转到404页面,可以看下面的解决方案

exception 'Typecho_Router_Exception' with message '*** not found' in Router.php:155
Stack trace:
#0 *****:Typecho_Router::dispatch()
#1 {main}

2.1、不跳转的解决方案

找到项目根目录的config.inc.php文件,可以尝试将下面这行注释掉,然后清理一下浏览器缓存重试。

/**define('__TYPECHO_DEBUG__', false);*/

3、设置爱心公益404页面

3.1、宝塔面板设置方案

如果你服务器后台使用的是宝塔可视化面板,那可以在软件商店下载404公益这个插件,然后启用即可。

3.2、自己制作404页面方案

如果想自己制作404页面,可以使用腾讯公益404页面的数据。

3.2.1、快速接入

复制以下 js 代码,嵌入到您的 404 页面,可以自适应移动设备。

<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8"></script>

效果展示

3.2.2、自定义返回接入

复制以下 js 代码,嵌入到您的 404 页面,可以自适应移动设备。修改homePageUrlhomePageName两个参数即可。

<script type="text/javascript" src="//qzonestyle.gtimg.cn/qzone/hybrid/app/404/search_children.js" charset="utf-8" homePageUrl="http://yoursite.com/yourPage.html" homePageName="回到我的主页"></script>

效果展示

注意事项

如果一个 404 页面的内容小于 512B,IE 会认为该 404 页面不够友好,在 IE 下将不会成功返回该 404 错误页面

4、搜索功能优化

typecho在搜索的时候,如果有空格,会自动过滤空格导致搜索不到数据,所以可以修改var/Widget/Archive.php文件,

修改下面的代码

$keywords = $this->request->filter('url', 'search')->keywords;

修改为

$keywords = $this->request->keywords;

5、评论框特效

下载特效JS文件:commentTyping.js,将其放在网站目录某个地方,然后编辑主题文件,在后面添加以下代码即可。

<script type="text/javascript" src="(JS文件路径)"></script>

当前页面是本站的「Baidu MIP」版。查看和发表评论请点击:完整版 »