你有没有发现,很多人做迅睿站都只盯着首页、栏目页的装修,把404、500这些错误页当透明的?这事儿吧真的有点可惜,就像你开了家装修得贼精致的奶茶店,后厨垃圾满了漏到门口,谁路过还愿意进来啊?错误页是用户走丢或系统出bug时的「临时接待员」,做得好能拉好感、减少跳失,做得差就直接把好不容易攒的流量拱手送人了。
先跟大家唠唠迅睿错误页的原生逻辑,不然改半天摸不着门儿。它默认用的是 `/public/error/` 目录下的静态文件,分别对应 `404.html`、`403.html`、`500.html`、`503.html` 这些常见状态码。而且哦,它支持调用系统标签的动态错误页,路径在 `/template/你的模板目录/error/` 下面,原生可能是空的,需要自己新建对应文件名的模板。
这里强烈建议用动态模板,别改静态文件。为啥?静态文件没法调用迅睿的 logo、导航、友情链接这些全局变量,每次全局改个东西,还得单独改一遍错误页,麻烦死。动态的就不一样了,直接用标签就行,和整站风格完全统一,省时省力。
先打开你的迅睿后台,找到「系统」→「系统设置」→「站点设置」→「系统配置」,拉到最下面的「调试与错误」部分。有个「开启动态错误页面」的开关,默认是关闭的,先把它打开,然后保存设置。哦对了,别忘先关调试模式!开调试的时候动态错误页是出不来的,调试模式在 `/config/database.php` 或者后台「系统」→「系统设置」→「站点设置」→「系统配置」里找,改成 `false` 就行。
接下来新建动态错误页模板。先去你的网站文件管理器,找到模板目录,比如我常用的 `default` 模板,路径就是 `/template/default/`,新建一个 `error` 文件夹。然后在里面分别新建 `404.html`、`403.html`、`500.html`、`503.html` 这四个文件,其他少见的状态码可以不用管,系统会自动调用默认的静态页面。
拿大家最常用的404页来举例子。首先复制你模板目录下的 `list.html` 或者 `show.html` 作为基础模板,这样能保证风格一致。然后把原来的内容全部删掉,只保留头部、导航、底部这些全局模块。
接下来改中间的核心内容。可以加一句扎心又温暖的话,比如“哎呀!你找的页面飞到外太空去啦~”,然后放一张可爱的404表情包或者全站相关的小插图,再搞几个跳转按钮,比如「返回首页」「热门栏目」「在线求助」,这样用户不会马上关掉页面。
跳转按钮的链接怎么写?返回首页直接用迅睿的标签 `{dr_space_url()}`,热门栏目可以调用栏目ID或者用 `{dr_category_loop()}` 循环出几个点击量高的,在线求助就链接到你的在线客服或者留言板。给你们放个简单的核心代码块参考:
```html
哎呀!你找的页面飞到外太空去啦~
可能是链接错了、页面删了,或者网络出了点小问题
```
这里的 `{THEME_PATH}` 是调用你当前模板的根目录路径,`{dr_space_url(1)}` 是调用ID为1的栏目链接,你们可以改成自己实际的ID。
代码写完后,记得加一点简单的CSS样式,放在 `