请选择 进入手机版 | 继续访问电脑版

SpeedPHP框架

 找回密码
 注册成为新用户

QQ登录

只需一步,快速开始

查看: 3303|回复: 9

404错误页面

  [复制链接]
发表于 2012-4-22 16:06:50 | 显示全部楼层 |阅读模式
问一下jake
就是设置了404错误页面,那也只能控制action和controller的值(http://localhost/item/index.php?c=main&a=index首页)
假如我这样http://localhost/item/asdasdasdasdasd时,还是出现not found page!假日我想把这样的也转到404.html
这样可以设置吗?先谢谢jake了

发表于 2012-4-22 19:14:32 | 显示全部楼层
手册上面写着:http://www.speedphp.com/dev-diy-404.html

在UrlRewrite(伪静态)下的404错误页面,可以正常支持404页面的显示。
在非UrlRewrite的情况,只有“找不到控制器”的错误将被视作404错误,而其他页面无法找到的情况,会根据服务器本身的设置而定。

也就是说,如果要实现你想要的“正常支持404页面的显示”,那么有两个方法:

1. 使用UrlRewrite伪静态,详情还是参考手册。
2. 一般虚拟主机都可以配置的,或者自己设置apache的404转向,转到你的404页面上去。
发表于 2014-8-1 14:26:53 | 显示全部楼层
jake 发表于 2012-4-22 19:14
手册上面写着:http://www.speedphp.com/dev-diy-404.html

在UrlRewrite(伪静态)下的404错误页面,可以 ...

我想请问什么叫做:UrlRewrite(伪静态)下的404错误页面
因为我现在把'dispatcher_error' => "header('location:/404.html');",放在$spConfig = array()内,只是在控制器不正确时显示404。
如果是数据库查询错误等其他情况,还是不显示404。
你留参考的手册http://www.speedphp.com/dev-diy-404.html只是一个404页面,我找不到相关的信息。
求指教!!
发表于 2014-8-1 21:07:03 | 显示全部楼层
http://www.speedphp.com/thread-3848-1-1.html

是这个
发表于 2014-8-4 09:49:13 | 显示全部楼层
jake 发表于 2014-8-1 21:07
http://www.speedphp.com/thread-3848-1-1.html

是这个

你的手册上只说了:[size=12.727272033691406px]加入如下配置:'dispatcher_error' => "import(APP_PATH.'/404.html');exit();",
[size=12.727272033691406px]可实现:当访问到“找不到控制器”的错误的时候,将显示404.html文件的内容。

没有说清楚: “UrlRewrite(伪静态)下的404错误页面,可以正常支持404页面的显示”。
即:在其它错误页面未找到的时候,仍显示404?

你可以看一下我在“3楼”的问题,你应该没有看懂我的问题。


发表于 2014-8-4 09:56:15 | 显示全部楼层
chunjiao2012 发表于 2014-8-4 09:49
你的手册上只说了:加入如下配置:'dispatcher_error' => "import(APP_PATH.'/404.html');exit();",
可实 ...

抱歉,真不懂你的问题。
不过建议你稍微了解一下伪静态是什么样的一个实现原理,还有404的原理,就很容易解决你的问题了。
或者除了看手册,稍微动手试试,会更容易理解。

不过当然,首先的前提是你的服务器要支持rewrite,按你上面的描述,应该你的服务器还没支持rewrite,所以才会显示服务器自带的404

rewrite是将全部请求转发到index.php,包括找不到页面的404请求。

所以dispatcher_error是在rewrite的情况下显示404的功能。


发表于 2014-8-12 13:17:29 | 显示全部楼层
重新问:一个speedphp网站,使用了伪静态urlRewrite,服务器开启了rewrite。
如何实现将所有的错误页面转到404?
dispatcher_error只能实现一种错误(即控制器错误)的跳转。
那么请问:其他的怎么实现?求解答!!!
发表于 2014-8-12 13:25:01 | 显示全部楼层
帮你搜索了一下论坛,这里有说明 http://www.speedphp.com/thread-4644-2-1.html

建议先自行搜索论坛,会更方便。
发表于 2014-8-12 14:08:02 | 显示全部楼层
那个帖子看过,但是也还是不全面。
还有种情况:就是在当前页面的url后添加任意字符串它不会跳到404。
而页面http://www.speedphp.com/thread-3459-1-1.html-534就会跳到404
发表于 2014-8-12 14:20:21 | 显示全部楼层
“当前页面的url后添加任意字符串它不会跳到404”

大部分网站的URL后面,你加上个?abc=任意字符串或者是&abc=任意字符串,都是不会到404的。

如果要做到那么与众不同,可以在程序里面接收参数进行判断。

您需要登录后才可以回帖 登录 | 注册成为新用户

本版积分规则

手机浏览|简版|中文PHP框架|开源协议|SpeedPHP.com ( 粤ICP备08008671号

GMT+8, 2020-8-8 08:17

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表