tp5 nginx 404关于自定义404页面的,有大神来看下吗

主题 : ★Apache自定义404等错误页面方法详解★
个性签名:有时间的时候,我就来看看
级别: 齐博版主
发帖: 9566
威望: 10895 点
积分: 110917 个
铜板: 1804
精华风格度: 0 点
在线时间: 2781 小时
★Apache自定义404等错误页面方法详解★
screen.width-461) window.open('//Day_20_96bf69c2b0.jpg');" >&&&&&& 自定义错误页对网站的实用意义相信大家都明白,网上也有相关的教程,但是大都蜻蜓点水,忽略了很多细节,我特地整理这个文字教程,以供大家借鉴。。。&&&&& 如果你是用空间商的服务器,请首先咨询你的空间商是否支持mod_rewrite及是否支持对站点目录中 .htaccess 的文件解析,如果支持,即可按下面的方法操作(从“接下来用以下代码生成一个.htaccess 的文件。。。”开始)。&&&&& 如果是你自己的服务器,首先检查Apache中的modules目录是否存在mod_rewrite.so文件。停止服务,检查apache安装目录“/apache/conf/”下的 httpd.conf 文件,通过Ctrl+F查找到“LoadModule rewrite_module”,将前面的&#&号删除即可;如果没有查找到,则到“LoadModule”区域,在最后一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(独占一行)。继续查找“AllowOverride”把里面的 AllowOverride None 改成 AllowOverride all 即可,改完后的代码通常是这样: &Directory /&&&&& Options FollowSymLinks&&&& AllowOverride all&&&& Order deny,allow&&&& Deny from all&&&& Satisfy all&/Directory&如果文件中还找到AllowOverride None(比如对应你网站目录配置等一些地方,可能还有这句代码),也要改成& AllowOverride all (不属于指向网站目录的可不理睬)。接下来用以下代码生成一个.htaccess 的文件(这里以404页为例,也可以添加400、500等页):#语法格式为: ErrorDocument 错误代码 /目录名/文件名.扩展名ErrorDocument 404 /404.html.htaccess 文件生成方法为:先用记事本将“ErrorDocument 404 /404.html”保存为1.txt(如果直接保存为.htaccess可能不成功),放在E盘根目录下。在windows下,点“开始”—运行—输入cmd,确定在cmd下输入 E: 回车——即转到E:,再输入 ren 1.txt .htaccess 回车,即可在E盘根目录下生成文件,接下来在网站根目录放上.htaccess文件和自己个性化的404.html,重启服务。&&总结一下以上操作的步骤:1、检查加载mod_rewrite模块;(非自己服务器略过)2、确认开启目录URL重写,即 AllowOverride all& (非自己服务器略过)3、做一个.htaccess文件放到网站根目录;4、编辑一个404.html文件放到网站根目录;5、重启服务。(非自己服务器略过)&&这里可能需要说明一些问题:1、所做的404.html一类的文件,有时候用IE浏览的时候会发现不跳转,是因为404.html小于512字节时,IE会认为这个错误页面不够“友好”而造成不跳转。这样的话,在编辑这个文件时,就得需要注意一下!2、404.html中不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失。3、404.html中不要使用绝对URL。例如:。正常情况返回的是 404 状态码,而使用URL形式则返回的是200状态码,相当于一个普通的网页跳转。4、通常地,为便于管理,我们通常将自定义的出错页文件统一放在一个error的目录中。5、如果是自己的服务器,当AllowOverride设为all时,很可能对服务性能生成影响,造成网站的响应速度慢——这是由于服务从当前访问位置往上查找,直找到根目录的.htaccess文件。有个方法可以解决这个问题,就是直接将AllowOverride all指向.htaccess文件所在目录,例如:&Directory /&&&& AllowOverride All&/Directory&改成:&Directory &E:/WebServer/www&&&&& AllowOverride FileInfo Options&/Directory&如果在httpd.conf文件中所设置AllowOverride All的一些目录,不需要此功能的均可以用#在句前注释屏闭,这对你的服务环境很有好处!6、当然,.htaccess功能相当强大,相关知识需要查找资料了解。上次我所写的“启用Rewrite让齐博CMS实现伪静态”也是很好的一个例子() 7、最后需要说的是,如果是自己的服务器,不一定要做.htaccess文件,可以直接在httpd.conf文件中设置虚拟主机的地方加入与.htaccess文件相同的代码,然后做相应的个性出错页也是可以的。。。记得T总的网站错误页做得很好,可是忘记了网址。。。
本帖最近评分记录:
铜板:+3(lisheng51) 欢迎经验交流积分:+1(奋斗的十二)
***************************************** *                 ******************************************
个性签名:QQ:
级别: 齐博版主
发帖: 3076
威望: 6112 点
积分: 3678839 个
铜板: 1328
精华风格度: 0 点
在线时间: 865 小时
screen.width-461) window.open('http://rs.phpwind.net/E___4261ZHYXPWFG.gif');" >
>> 齐博门户系统专区
&|- 门户开发动态
&|- 门户BUG反馈
&|- 门户功能建议
>> 齐博产品和服务
&|- 官方动态
&|- 程序下载
&|- 商业授权专区
&|- 功能建议
&|- BUG反馈
&|- 新手教程
教程归纳区
&|- 精选风格
&|- 站务咨询
&|- 团队交流
>> 齐博交流和讨论
&|- CMS整站系统
&|- 分类信息系统
&|- B2B电子商务系统
&|- 风格模板
&|- 模块插件
&|- 采集参数
>> 齐博业余和爱好
&|- 建站交流
&|- 无话不说
&|- 站长交易
>> 合作伙伴与VIP会员
&|- 协众OA
&|- VIP会员专区
>> 齐博站务和管理
打造最专业的门户系统建站程序you have been blocked电脑教程子分类关于自定义404错误页面不生效的问题
&无意中在SEO优化站中看到设置自定义网站404错误页面对搜索引擎收录影响的文章。然后在服务器端设置了404错误页面为网站根目录下的404.html。
在这个404.html文件中写了网页跳转到首页的语句。但是,在IE地址栏中输入一个不存在的地址:/msn页面没跳转,仍然显示的是IE的默认错误页面,自定义的404错误页面没有生效。然后习惯性的打开火狐浏览器输入一个不存在的地址/msn跳转到首页了,自定义404错误页面跳转成功。果然是IE的问题,我仔细查看了404页面代码,没有发现任何问题。
于是查阅了相关资料,终于找到问题所在了。以下是修改前自定义404错误页面的HTML源码:
以下是代码片段:&html& &head& &title&落叶街&-&学习与分享&/title& &meta&name=&keywords&&content=&网站建设,网页美工,网络安全,软硬知识,编程开发,操作系统&& &meta&name=&description&&content=&内含落叶街站长精心搜集的技术资料,去精取粕.&& &meta&name=&robots&&content=&all&& &script&language=&javascript&&&&&& &!--&&&&& location.replace(&&);&&&& --&&&&& &/script&&&& &/head& &body& 对不起,您访问的页面不存在,正在跳转到首页... &/body& &/html&&
以下是修改后自定义404错误页面的HTML源码:
以下是代码片段:&html& &head& &title&落叶街&-&学习与分享&/title& &meta&name=&keywords&&content=&网站建设,网页美工,网络安全,软硬知识,编程开发,操作系统&& &meta&name=&description&&content=&内含落叶街站长精心搜集的技术资料,去精取粕.&& &meta&name=&robots&&content=&all&& &script&language=&javascript&&&&&& &!--&&&&& location.replace(&&);&&&& --&&&&& &/script&&&& &/head& &body& 对不起,您访问的页面不存在,正在跳转到首页... &BR&有任何疑问请联系站长。&BR& &A&href=&mailto:@&&点击这里给站长发送邮件。&/a& &/body& &/html&&
对比下上面的两段代码,可以发现下面多了两行字,但是就是这两行字解决了问题.微软E文站上关于这个问题的解释是这样的:
以下是引用片段:IE&Warning: IE&looks&at&the&size&of&the&404&file&to&decide&whether&or&not&to&display&its&own&error&instead.&Your&custom&error&file&must&be&larger&than&512&bytes&in&size,&or&IE&will&not&display&it.&Make&sure&that&the&size&of&your&custom&error&file&is&greater&than&512&bytes.&If&necessary,&add&a&graphic&file&to&increase&the&size.&
以上一段E文说的意思大约是:ie浏览器有一个特殊的限制,如果自定义页面小于512字节,就不会显示这个自定义的错误页面,而是显示那个默认的404错误页面。之前没有加那两行字的文件大小是447B,加上之后为621B,问题解决。PS:关于404错误页面在服务器端设置的问题请查阅相关文章。
注:相关网站建设技巧阅读请移步到频道。
看过本文的人还看过
最新图文推荐
最新专栏文章
大家感兴趣的内容
网友热评的文章

我要回帖

更多关于 tp 404 的文章

 

随机推荐