VPS侦探论坛

 找回密码
 注册
12
返回列表 发新帖
楼主: licess

lnmp之nginx如何设置404错误页面

[复制链接]
 楼主| 发表于 2011-8-18 17:08:57 | 显示全部楼层



升级到lnmpa后再apache里用.htaccess来设置
美国VPS推荐: 遨游主机LinodeLOCVPSKVMLAVPS2EZ搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2012-3-17 18:20:15 | 显示全部楼层

为什么我设置404无效呢?



为什么我设置404无效呢?
我的代码
server
        {
                listen 80;
                server_name www.xxx.com xxx.com;
                index index.html index.htm index.php default.html default.htm default.php;
                root  /home/wwwroot;
                error_page 404 = /404.html

                include wordpress.conf;
                location ~ .*\.(php|php5)?$
                        {
                                fastcgi_pass  unix:/tmp/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org/
发表于 2012-3-17 18:22:57 | 显示全部楼层

回复 1# 的帖子




我把wordpress的伪静态去掉后还是不行
美国VPS推荐: 遨游主机LinodeLOCVPSKVMLAVPS2EZ搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2012-3-17 18:29:47 | 显示全部楼层

回复 1# 的帖子




发现把 wp的静态规则删除后生效了
怎么可以同时做到wp静态及404生效呢?
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org/
发表于 2012-5-27 15:34:45 | 显示全部楼层

更改nginx.conf在http定义区域加入:
fastcgi_intercept_errors on; 请问这是linux命令吗?
怎么操作啊?

美国VPS、VPN、域名代购:http://shop63846532.taobao.com/

发表于 2012-5-27 17:35:31 | 显示全部楼层

我解决这个问题了

按照军哥的操作
1.创建自己的404.html页面
2.更改nginx.conf在http定义区域加入:
fastcgi_intercept_errors on;

这些都是linux的系统文件,找到文件路径、编辑、修改、保存就可以了,这两步一般都没问题。
3.更改nginx.conf或虚拟主机的域名.conf在server 区域加入:
error_page 404 /404.html;
【一般情况有两种情况:
       1、我想让我VPS下的所有虚拟主机显示同一个404页面,那么就需要
        2、我想要我的每个虚拟主机的404页面不一样,  那么我们就需要在虚拟主机的域名.conf在(路径:  /usr/local/nginx/conf/vhost )server 区域加入error_page 404 /404.html;打开编辑保存就是了】

4.测试nginx.conf正确性:
/usr/local/nginx/sbin/nginx -t

如果正确应该显示如下信息:
the configuration file /opt/nginx/conf/nginx.conf syntax is ok
configuration file /opt/nginx/conf/nginx.conf test is successful

5.重启nginx
kill -HUP  `cat /opt/nginx/nginx.pid `
还有重启nginx  命令还有 #  /usr/local/nginx/sbin/nginx -s reload

[ 本帖最后由 kekemyth 于 2012-6-18 23:34 编辑 ]
发表于 2012-11-23 17:50:05 | 显示全部楼层

谢谢军哥,成功设置了
美国VPS推荐: 遨游主机LinodeLOCVPSKVMLAVPS2EZ搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2013-10-17 04:13:04 | 显示全部楼层

404错误页面自定义不成功




我在nginx.conf文件

下一行添加
         tcp_nodelay on;



fastcgi_intercept_errors on;




然后WWW.XXX.com.conf域名配置文件里面添加


try_files $uri =404;
error_page 404 /404.html;


重启nginx
/usr/local/nginx/sbin/nginx -s reload




后还是没有效果,自定义404文件大小有11KB,求解是何原因



发个错误的页面测试无效:http://www.fffec.com/vod/zichaqiyua





汗,发完帖子后貌似可以了,原来都是缓存惹的祸

[ 本帖最后由 189lg.com 于 2013-10-17 04:18 编辑 ]
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org/
发表于 2013-10-17 09:14:40 | 显示全部楼层

回复 7# 的帖子




error_page 404 = /404.html;

这里的等号一定要去掉
不然显示的是404页面,但是返回状态码确实200
美国VPS推荐: 遨游主机LinodeLOCVPSKVMLAVPS2EZ搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2013-10-17 09:16:42 | 显示全部楼层

回复 1# 的帖子




军哥,一定要提醒大家 error_page 404 /404.html;  这里不能加=等号的,不然返回码是200
发表于 2015-4-29 14:47:53 | 显示全部楼层

不错啊 mark一下!!
发表于 2015-7-13 15:43:16 | 显示全部楼层

lnmpa下404配置


需要在apache配置文件httpd.conf里加上:ErrorDocument 404 /404.html,
然后重启apache服务器就可以了: service httpd restart     或者     /usr/local/apache/bin/apachectl restart
Linux下Nginx+MySQL+PHP自动安装工具:https://lnmp.org/
发表于 2016-9-13 23:40:54 | 显示全部楼层

回复 27# 的帖子

我的lnmpa1.2所有错误页面都在   __ErrorFiles__文件夹下,ErrorDocument 404 /404.html是写在http.conf里,还是写在网站conf里,还有/404.html这个地方相对路径要怎么写,
美国VPS推荐: 遨游主机LinodeLOCVPSKVMLAVPS2EZ搬瓦工80VPSVultr美国VPS主机中国VPS推荐: 阿里云腾讯云。LNMP付费服务(代装/问题排查)QQ 503228080
发表于 2016-9-13 23:41:21 | 显示全部楼层

回复 16# 的帖子

我的lnmpa1.2所有错误页面都在   __ErrorFiles__文件夹下,ErrorDocument 404 /404.html是写在http.conf里,还是写在网站conf里,还有/404.html这个地方相对路径要怎么写,

美国VPS、VPN、域名代购:http://shop63846532.taobao.com/

 楼主| 发表于 2016-9-14 08:53:24 | 显示全部楼层

回复 29# 的帖子

httpd.conf 里的话所有虚拟主机根目录下必须要有404.html ,对应虚拟主机或.htaccess 应该也可以 放网站根目录就行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|VPS侦探 ( 鲁ICP备16040043号-1 )

GMT+8, 2019-9-23 07:50 , Processed in 0.051817 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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