共计 1080 个字符,预计需要花费 3 分钟才能阅读完成。
当时是在 Apache 下写的 error page,换了 Nginx 后,404 页面直接跳到了 500 服务器内部错误。
CentOS 6.2 实战部署 Nginx+MySQL+PHP http://www.linuxidc.com/Linux/2013-09/90020.htm
使用 Nginx 搭建 WEB 服务器 http://www.linuxidc.com/Linux/2013-09/89768.htm
搭建基于 Linux6.3+Nginx1.2+PHP5+MySQL5.5 的 Web 服务器全过程 http://www.linuxidc.com/Linux/2013-09/89692.htm
CentOS 6.3 下 Nginx 性能调优 http://www.linuxidc.com/Linux/2013-09/89656.htm
CentOS 6.3 下配置 Nginx 加载 ngx_pagespeed 模块 http://www.linuxidc.com/Linux/2013-09/89657.htm
CentOS 6.4 安装配置 Nginx+Pcre+php-fpm http://www.linuxidc.com/Linux/2013-08/88984.htm
Nginx 搭建视频点播服务器(仿真专业流媒体软件)http://www.linuxidc.com/Linux/2012-08/69151.htm
只需要在配置 try_files 的时候指定一下就可以了
我的是 Debian, 在 /etc/nginx/site-available/default 里面 location /
server{
location / {
try_files $uri $uri/ /error/404.php?c=404 =404;
}
error_page 403 /error/403.php;
error_page 404 /error/404.php;
error_page 500 501 502 503 504 /error/500.php;
}
然后 reload 下 nginx 即可
参考 http://wiki.nginx.org/HttpCoreModule#try_files
说明下, 我把页面放在了 网站目录下的 error 文件夹下. 比如网站放在 /var/www/ 错误页面就在 /var/www/error/403.php …
测试的话很简单, 403 是没权限比如你的网站目录 css 目录, 图片目录什么的, 404 是不存在, 随便输个地址就可以, 500 上是服务器的, 这里我停掉 php-fpm 来测试. 效果如下
Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里