昨天晚上首页项目由于天气源头数据供应出现问题(大约100个全国重点城市的天气数据为空),页面上的天气预报框架出现找不到源的情况(Not found,404错误),但几个小时后源头数据恢复了正常,虽然这种错误出现几率很小,但是我觉得还是应该想出一个应对方案.
(天气预报原理:根据数据源按照城市编码吐出每个城市的天气页面,然后按照ip判断所在城市,接着在天气预报框架中插入相应城市的天气预报)
昨天晚上小陶说可以去改后端程序,如果找不到数据源就生成一些类似于"友情提示:您找的XX页面暂时不能提供"的页面,在家躺在床上我一直在想程序的逻辑问题,由于数据的繁杂,如果为每个城市的情况都进行判断的话,程序将会变得很庞大,而且程序在服务器上是循环运行的,无疑将会加重服务器的负担…
后来我想到了一个办法:用户在网上查找一个页面时,如果找不到这个页面,都会被指向一个"Not found,您所查找的页面不存在"这样的页面,而这样的页面是由编号为404的错误代码所指引的,因此只要修改服务器端对404代码的指引页面就可以了;
想到这个方法以后我和小卜一起试验了一些方法,最后找到了在单个目录下修改404代码指引页面的方法,使问题得到了圆满的解决.现在如果天气预报再出现断档情况,框架中就会出现"友情提示:…."的字样.
问题虽说解决了,但是我想到了更多的一些问题,为什么在系统设计的时候我们没有想到这些问题?后来在MSN上咨询了一下白鸦,他说之前没有遇到这种问题也没有考虑过类似的问题,这说明我们在用户体验设计上面要做的工作还是非常多的,用户体验不应该只考虑网站正常运行时和用户的交互,更应该考虑网站不能正常运行时对用户的反馈,一个小小的错误页面提示可以看出一家网站的细心程度,也可以让用户感受到网站对其贴心的照顾.
附apache下设置404错误的方法:
整站设置:
修改apache配置文件http.conf下的ErrorDocument
修改为 ErrorDocument 404 你希望它转向的地址(你自定义的出错页面)
单目录设置:
在http.conf中加入如下代码:
[Directory 目录路径]
ErrorDocument 404 你希望它转向的地址(你自定义的出错页面)
[/Directory]
重启apache就ok了