ngnix+fastcgi+thinkphp3.2 404重定向的问题

昨天一网友说自己用thinkphp做的程序无法做404重定向。

当时我就挺纳闷的thinkphp做404也是挺简单的,只要在配置文件里面加上一条‘ERROR_PAGE‘ =>‘/404.html‘就好了,怎么会无法重定向呢?

firebug打开对方的网站随便输入一个错误的地址发现给出了404代码,并且执行了跳转locaction:/404.html,但是页面完全空白,并没有显示404页面的设定内容。

当时就明白啥情况了,老汉当年也遇到这样的问题,google转了n圈才解决。只要在nginx.conf配置文件上加上一句 fastcgi_intercept_errors on;  就ok了。如果没这句的不管是error_page 还是nginx自带的404跳转都不能正常显示(访问不存在的php页面时可能会显示“No input file specified.”)。

时间: 2024-11-14 23:08:04

ngnix+fastcgi+thinkphp3.2 404重定向的问题的相关文章

nginx 404重定向到自定义页面

在访问时遇到上面这样的404错误页面,我想99%(未经调查,估计数据)的用户会把页面关掉,用户就这样悄悄的流失了.如果此时能有一个漂亮的页面能够引导用户去他想去的地方必然可以留住用户.因此,每一个网站都应该自定义自己的404页面. NGINX下如何自定义404页面 IIS和APACHE下自定义404页面的经验介绍文章已经非常多了,NGINX的目前还比较少,为了解决自家的问题特地对此作了深入的研究.研究结果表明,NGINX下配置自定义的404页面是可行的,而且很简单,只需如下几步: 1.创建自己的

配置thinkphp3.2 404页面

ThinkPHP自身提供了 404 页面的处理机制,我们只需要在控制器 中添加一个 EmptyController.class.php,并且实现以下方法即可,方法如下: <? class  EmptyController extends Controller { function   _empty(){ header( " HTTP/1.0  404  Not Found" ); $this->display( ' Public:404 ' ); } function  i

apache调优隐藏版本信息及404重定向

生产环境中,部署了apache之后,我们应该从安全还是性能角度,在apache服务上线之前,对其做诸多的优化调试才行.   Apache 实验环境: apache版本:httpd-2.2.31 源码包存放位置:/usr/local/src 源码包编译安装位置:apache:/usr/local/apache2.2-xuegod/   技巧1: 安装apache屏蔽apache版本等敏感信息   查看apache版本信息: [[email protected]yeyou ~]# curl -Iww

FastCGI 进程管理器(FPM)

FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: 支持平滑停止/启动的高级进程管理功能: 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置): stdout 和 stderr 日志记录; 在发生意外情况的时候能够重新启动并缓存被破坏的 opcode; 文件上传优化支持; "慢日志" - 记录脚本(不仅记录文

3 FastCGI 进程管理器(FPM)

1 FPM(FastCGI 进程管理器)用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的. 它的功能包括: ● 支持平滑停止/启动的高级进程管理功能: ● 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置): ● stdout 和 stderr 日志记录; ● 在发生意外情况的时候能够重新启动并缓存被破坏的 opcode; ● 文件上传优化支持; ● "慢日志"

使用.htaccess实现apache URL重定向

一.什么是URL重定向? URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术. 二.URL重定向怎么配置? 1)首先需要apache开启重定向,修改httpd.conf配置: 1 查找: 2 Options FollowSymLinks 3 AllowOverride None 5 改为: 6 Options FollowSymLinks 7 AllowOverride All 2)去掉下面的注释 LoadModu

编译PHP并与Ngnix整合

nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端. nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx 一.首先我们先初步认识下FastCGI和Ngnix+FastCGI的运行原理 1.apache+PHP和ngnix+php的区别 apache一般是把php当做自己的一个模块来启动:而ngnix则是把http请求变量转发给php进程,即php独立进程

Nginx配置error_page 404错误页面

问题由来 昨天一网友在segmentfault.com上提问,无法做404重定向 打开对方的网站随便输入一个错误的地址发现给出了404代码,但是页面完全空白,并没有显示404页面的设定内容 当时就明白啥情况了,只要在nginx.conf配置文件上加上一句 fastcgi_intercept_errors on,就可以了 如果没这句的不管是error_page 还是nginx自带的404跳转都不能正常显示(访问不存在的php页面时可能会显示“No input file specified.”) 什

php5.3 fastcgi方式 安装以及和nginx整合

php5.3 fastcgi方式 安装以及和nginx整合 注意:不要随便改变基础库的版本,否则会对别的软件产生编译错误 1.基础依赖包安装: cd /software/zlib-1.2.3./configuremakemake install cd /software/libxml2-2.6.30./configure --prefix=/usr/local/libxml2/make make install  cd /software/libmcrypt-2.5.8./configure -