① php如何使404页面重定向
最近在改一些东西,包括Discuz论坛,在处理Discuzde修改时特别是重新写了一个404de页面,让用户访问不存在de页面时去访问这个404页面。但是遇到了一个很奇怪de问题,即无法重定向到这个页面。
最初操作:
1、把apache中de配置文件里 加入代码:ErrorDocument 404 /404.php
2、在404页面de代码里加上<?php header(”HTTP/1.0 404 Not Found” ?> 。这个方法是向客户端发送一个自然deHTTP头。这个方法要在没you向客户端发送任何信息之前使用,因此加在404.phpde文件头最好。
经过对配置文件和DZ论坛代码de查看,发现原因:rewrite规则问题,即我做伪静态de处理,导致第二种地址规则you效,于是已经pass过了服务器层,apachede404定义不再起作用,所以在读取数据dephp文件会被执行。针对这种情况应该做处理。
处理:
1、找到被执行de文件:如viewthread.php;
2、在查询数据后,加上对数据de判断,如果为空,则填写重定向代码;
3、代码:
if(如果没you任何结果)
{
//以前是仅仅显示“该帖子已经不存在”de提示,现在是:
require(’/404.php’);
@header(’HTTP/1.1 404 Not Found’);
@header(’Status: 404 Not Found’);
exit;
}
结果:以上问题解决,可以以404de状态重定向到我自定义de404页面。
② PHP动态站如何设置404
一、 Apache下设置404
为Apache Server设置 404错误页面的办法很复杂,只需:
(1)在.htaccess 文件中参加如下内容:ErrorDocument 404 /notfound.php,将.htaccess文件上传到网站根目次。
(2)制造一个404页面,随意您计划,定名为notfound.php,异样上传到网站根目次。
留意:
(1).牢记不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝。
(2).牢记不要运用相对URL,假如运用相对URL前往的形态码是302+200。
二、 IIS/.net设置404
起首,修正使用顺序根目次的设置,翻开 web.config文件编辑,在此中参加如下内容:
以下为援用的内容:
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
注:上文例中error.asp为零碎默许的404页面,notfound.asp为自界说的404页面,运用时请修正相应文件名。
然后,在自界说的404页面notfound.asp中参加:
以下为援用的内容:
<% Response.Status = 404 Not Found %>
如许,便可以包管IIS可以准确地前往404形态码.
编辑本段404制造设置留意事变
1.不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝
2.不要运用相对URL,假如运用相对URL前往的形态码是302+200
3.404页面设置完成,肯定要反省能否准确。但http头信息前往的肯定要是404形态。这次要是对搜刮引擎有干系,由于假如你网站发生较多页面时分但搜刮引擎看到的是许多一样的正常页面,有能够会误被以为作弊。
4.404页面不要主动跳转,让用户来决议去处。这触及到404页面的制造,提供用户体验很紧张,404页面制造很有学问。 (参考网站: http://www.china16mn.com/ )<% found="" not="" response.status="404">
如许,便可以包管IIS可以准确地前往404形态码.
编辑本段404制造设置留意事变
1.不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝
2.不要运用相对URL,假如运用相对URL前往的形态码是302+200
3.404页面设置完成,肯定要反省能否准确。但http头信息前往的肯定要是404形态。这次要是对搜刮引擎有干系,由于假如你网站发生较多页面时分但搜刮引擎看到的是许多一样的正常页面,有能够会误被以为作弊。.....................................................................................................................................................
4.404页面不要主动跳转,.让用户来决议去处。这触及到404页面的制造,提供用户体验很紧张,404页面制造很有学问.
......
③ thinkPHP到底怎么设置404错误页面
1、首先要在Lib/Action 下建立EmptyAction.class.php模块
内容如下:
复制代码 代码如下:
<?php
/*
* @author rocky
* @date 2011
* @desc 空模块404等错误
* */
class EmptyAction extends CommonAction {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>
2、做完以上处理,只能在访问到空模块的时候才会访问404页面,所以,为了访问空方法也访问404页面,我们还需要在CommonAction.class.php增加一个空方法了,方法如下:
复制代码 代码如下:
//处理所有没有的方法的处理方法,引导到404页面
public function _empty() {
R('Empty/_empty');
}
3、做完以上工作基本可以了,但是别忘了把你的404.html页面放在Tpl/Public下
④ PHPcms404页面具体步骤怎么做啊,求高手指教
404页面可以这样做:
1、在网站根目录下建 .htaccess文件
2、在.htaccess文件中写这行代码:
ErrorDocument 404 /errorfiles/404.html
3、在根目录建一个“errorfiles”的文件夹
4、在“errorfiles”文件夹中放一个名为 404.html的文件,也可以是其他任意指定的文件。
⑤ PHP动态站如何设置404
一、 Apache下设置404
为Apache Server设置 404错误页面的办法很复杂,只需:
(1)在.htaccess 文件中参加如下内容:ErrorDocument 404 /notfound.php,将.htaccess文件上传到网站根目次。
(2)制造一个404页面,随意您计划,定名为notfound.php,异样上传到网站根目次。
留意:
(1).牢记不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝。
(2).牢记不要运用相对URL,假如运用相对URL前往的形态码是302+200。
二、 IIS/.net设置404
起首,修正使用顺序根目次的设置,翻开 web.config文件编辑,在此中参加如下内容:
以下为援用的内容:
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
注:上文例中error.asp为零碎默许的404页面,notfound.asp为自界说的404页面,运用时请修正相应文件名。
然后,在自界说的404页面notfound.asp中参加:
以下为援用的内容:
<% Response.Status = 404 Not Found %>
如许,便可以包管IIS可以准确地前往404形态码.
编辑本段404制造设置留意事变
1.不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝
2.不要运用相对URL,假如运用相对URL前往的形态码是302+200
3.404页面设置完成,肯定要反省能否准确。但http头信息前往的肯定要是404形态。这次要是对搜刮引擎有干系,由于假如你网站发生较多页面时分但搜刮引擎看到的是许多一样的正常页面,有能够会误被以为作弊。
4.404页面不要主动跳转,让用户来决议去处。这触及到404页面的制造,提供用户体验很紧张,404页面制造很有学问。
<% found="" not="" response.status="404">
如此,便可以包管IIS可以准确地前往404形态码.
编辑本段404制造设置留意事变
1.不要将404错误转向到网站主页,不然能够会招致主页在搜刮引擎中消逝
2.不要运用相对URL,假如运用相对URL前往的形态码是302+200
3.404页面设置完成,肯定要反省能否准确。但http头信息前往的肯定要是404形态。这次要是对搜刮引擎有干系,由于假如你网站发生较多页面时分但搜刮引擎看到的是许多一样的正常页面,有能够会误被以为作弊。
4.404页面不要主动跳转,.让用户来决议去处。这触及到404页面的制造,提供用户体验很紧张,404页面制造很有学问.
⑥ 请问php怎么自定义404错误页面
在php环境下的www文件下建立一个自己建立的404错误页面
如定义为404.php
里面包含一些比较友好的图片。
创建一个.htaccess文件,内容为:errorDocument
404
/404.php(你404错误页面地址),保存。
查看你的APACHE服务器的rewrite模块有没有开启,
在http.conf里查找LoadMole
rewrite_mole
moles/mod_rewrite.so,去除前面的#,保存并重启服务器。
现在再打开一个没有的界面
即可出现你自定义的404错误页面。
⑦ 如何设置404页面,404错误页面自定义方法
1、Apache服务器下设置404错误页面
为Apache Server设置 404错误页面的方法很简单,首先制作一个名为404.html/404.htm/404.php/404.asp/404.aspx的页面,视空间要求而定,再在.htaccess 文件中加入如下内容即可(.htaccess文件一般linux空间会自带的,如果没有这个文件,自己可以用记事本写一个,命名为.htaccess,一定要记得去掉记事本文件的.txt哦。而windows虚拟空间是没有这个文件的,也不用上传这个文件):
# 404 page
ErrorDocument 404 /notfound.php
(“notfound”是你给你的自定义错误页面的命名,你也可以改成Error.php等等)
注意:
(1).切记不要将404错误跳转到网站主页,比如使用了js脚本或者meta refresh跳转技术。否则可能会导致主页在搜索引擎中消失或者不被收录.
(2).切记不要使用绝对URL如果使用绝对URL返回的状态码是“302”+“200”
2、IIS/ASP.net下设置404错误页面
静态404错误页面设置
(1)做个404页面,404.html或者404.htm,根据你的网站实际情况来。
(2)服务器/虚拟主机管理设置,根据自己的情况,选择“使用根目录下的404页面”,如果自己能找到“消息类型”选项,则要选择“文件”或者“默认值”,而不能选择“URL”。如果自己在主机提供商网站的管理后台找不到此“消息类型”选项请联系技术客服做出修改。这是具有决定性的一步。 这步一定要操作好,如果在后台找不到这个消息类型,就不要自己设置,因为你设置之后肯定返回值是200,所以事先和客服联系下。
(3)上传404.htm到网站根目录,打开一次试试,看是否成功了。
⑧ thinkphp 怎么跳到404页面
在ACTION中新建一个文件EmptyAction.class.php,文件中的代码如下:
<?php
class EmptyAction extends Action{
function _empty(){
header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码
$this->display("Public:404");
}
}
?>
复制代码
在apache中设置
在你的网站配置中加入 ErrorDocument 404 /404.html 即可。
在iis中设置
IIS/ASP.net下设置404错误页面
打开apache httpd.conf配置文件或者新建.htaccess配置文件
首先,修改应用程序根目录的设置,打开 “web.config” 文件编辑,在其中加入如下内容:
<configuration>
<system.web>
<customErrors mode=”On” defaultRedirect=”error.asp”>
<error statusCode=”404″ redirect=”notfound.asp” />
</customErrors>
</system.web>
</configuration>
复制代码
注:上文例中“error.asp”为系统默认的404页面,“notfound.asp”为自定义的404页面,使用时请修改相应文件名。
然后,在自定义的404页面“notfound.asp”中加入:
<%
Response.Status = “404 Not Found”
%>
复制代码
php 404
if(如果没有任何结果)
{
//以前是仅仅显示“该帖子已经不存在”的提示,现在是:
require(’/404.php’);
@header(’HTTP/1.1 404 Not Found’);
@header(’Status: 404 Not Found’);
exit;
}
⑨ PHP动态页面如何让页面返回404状态码
header("HTTP/1.0 404 Not Found");
这个我刚试了下是可以的,应该是你这句话不是在页面的顶部,而是中间,顶部默认就输出一个200了。
⑩ thinkphp怎么设置添加404页面
首先应该尝试在服务器添加,其实没这个必要,thinkphp自身便提供了404页面的处理机制,我们只需要在lib下定义一个EmptyAction.class.php,且实现以下方法即可,如下:
<?php
class EmptyAction extends Action {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
// 404
function index() {
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>
以上通过直接定义空模块和空操作实现404跳转,但要注意的是:
设置header头很重要, 不然的话返回的状态会是200.
该类对应Public模板目录下需要有名为404的页面模板.