怎么设置404页面?

怎么设置404页面?,第1张

方法:

1、对于存在的网页内容由于路径改变而导致访问不了时,可在IIS 中定义404错误指向一个动态页面,在页面里面使用301永久重定向跳转到新的地址,此时服务器返回301状态码。

2、设置404指向一个设计好的html 文件,此时页面返回的404状态码。

3、把404指向一个动态页面,比如error.asp。

原因:1、无法在所请求的端口上访问Web站点。

2、Web服务扩展锁定策略阻止本请求。

3、MIME映射策略阻止本请求。

特别提示:

1、不要将404错误转向到网站主页,否则可能会导致主页在搜索引擎中消失

2、不要使用绝对URL,如果使用绝对URL返回的状态码是302+200

3、404页面设置完成,一定要检查是否正确。但http头信息返回的一定要是404状态。这主要是对搜索引擎有关系,因为如果你网站产生较多页面时候但搜索引擎看到的是很多一样的正常页面,有可能会误被认为作弊。

4、404页面不要自动跳转,让用户来决定去向。这涉及到404页面的制作,提供用户体验很重要,404页面制作很有学问。

相信网上有很多关于404页面的制作帖子了,这里我要总结的是根据自己这一次网站被降权而总结的404自定义错误页面的制作,绝对超级详细。

一、什么是自定义404错误页面

404自定义错误页面就是当用户输入了错误的url地址或者输入了一个不存在的url地址时,所返回的一个页面,它的目的是:告诉浏览者其所请求的页面不存在或链接错误,同时引导用户使用网站其他页面而不是关闭窗口网站离开。

二、404自定义错误页面是如何形成的

/404.htm/404.php/404.asp/404.aspx的页面,视空间要求而定,再在.htaccess文件中加入如下内容即可(.htaccess文件一般linux空间会自带的,如果没有这个文件,自己可以用记事本写一个,命名为.htaccess,一定要记得去掉记事本文件的.txt哦。而windows虚拟空间是没有这个文件的,也不用上传这个文件):

404page

ErrorDocument404/notfound.php

(“notfound”是你给你的自定义错误页面的命名,你也可以改成Error.php等等)

注意:

(1).切记不要将404错误跳转到网站主页,比如使用了js脚本或者metarefresh跳转技术。否则可能会导致主页在搜索引擎中消失或者不被收录.

(2).切记不要使用绝对URL如果使用绝对URL返回的状态码是“302”+“200”

2、IIS/ASP.net下设置404错误页面

静态404错误页面设置

(1)做个404页面,404.html或者404.htm,根据你的网站实际情况来。

(2)服务器/虚拟主机管理设置,根据自己的情况,选择“使用根目录下的404页面”,如果自己能找到“消息类型”选项,则要选择“文件”或者“默认值”,而不能选择“URL”。如果自己在主机提供商网站的管理后台找不到此“消息类型”选项请联系技术客服做出修改。这是具有决定性的一步。这步一定要 *** 作好,如果在后台找不到这个消息类型,就不要自己设置,因为你设置之后肯定返回值是200,所以事先和客服联系下。

(3)上传404.htm到网站根目录,打开一次试试,看是否成功了。

动态404错误页面设置

首先,修改应用程序根目录的设置,打开“web.config”文件编辑,在其中加入如下内容:

<P><configuration></P>

<P><system.web></P>

<P><customErrorsmode=”On”defaultRedirect=”error.asp”></P>

<P><errorstatusCode=”404〃redirect=”notfound.asp”/></P>

<P></customErrors></P>

<P></system.web></P>

<P></configuration></P>

复制代码

注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。

然后,在自定义的404页面“notfound.asp”中加入:

<P><%</P>

<P>Response.Status=“404NotFound”</P>

<P>%></P>

复制代码

这样,便可以保证IIS能够正确地返回“404”状态码。

所有的设置完成之后,别忘记检测http状态,确定返回的是404,而不是200。

包括yii框架下

一、Apache + PHP制作自定义404页面的方法。

首先处理文件真的不存在的情况,方法是利用Apache的.htaccess定义,

方法是新建.htaccess,在.htaccess最开头加上:ErrorDocument 404 /404.PHP (/404.php是自定义404页面)。

二、在yii框架下设置

当请求的页面不存在时,yii会抛出一个CHttpException的异常,异常code为404,那么yii中是怎么处理该类异常的呢,有下面三种方法:

1、啥也不用做,yii会自己处理

当抛出该类异常时,yii会默认去渲染framework/view/下的 errorxxx.php(error404.php)模板文件

2、在protected/views/system下新建errorxxx.php,yii会去渲染该文件

3、配置异常处理器

在配置文件main.php中添加如下配置,设置异常处理控制器为site/error

'errorHandler'=>array(    

            // use 'site/error' action to display errors    

            'errorAction'=>'site/error',    

        ),

然后在SiteController.php中添加,error控制器:

public function actionError()    

    {    

        if($error=Yii::app()->errorHandler->error)    

        {print_r($error)    

            if(Yii::app()->request->isAjaxRequest)    

                echo $error['message']    

            else    

                $this->render('error', $error)    

        }    

    }

最后在view/site/ 下添加error.php模板文件:

<?php    

$this->pageTitle=Yii::app()->name . ' - Error'    

$this->breadcrumbs=array(    

    'Error',    

)    

?>    

    

<h2>Error <?php echo $code ?></h2>    

    

<div class="error">    

<?php echo CHtml::encode($message) ?>    

</div>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11807674.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存