打印

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

升级到lnmpa后再apache里用.htaccess来设置

LNMP付费问题排查/LNMP技术支持/Paypal信用卡代付/代购VPS,域名,软件等 QQ 503228080 旺旺 lzhenbao
军哥淘宝店铺
QQ/旺旺仅提供代购及付费代维/问题解决等服务,其他不回复!LNMP相关问题请在本论坛发帖,提问前先搜索,按https://bbs.vpser.net/thread-2555-1-1.html 要求反馈问题!

TOP

为什么我设置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;
                        }

TOP

回复 1# 的帖子

我把wordpress的伪静态去掉后还是不行

TOP

回复 1# 的帖子

发现把 wp的静态规则删除后生效了
怎么可以同时做到wp静态及404生效呢?

TOP

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

TOP

我解决这个问题了

按照军哥的操作
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 编辑 ]

TOP

谢谢军哥,成功设置了

TOP

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 编辑 ]

TOP

回复 7# 的帖子

error_page 404 = /404.html;

这里的等号一定要去掉
不然显示的是404页面,但是返回状态码确实200

TOP

回复 1# 的帖子

军哥,一定要提醒大家 error_page 404 /404.html;  这里不能加=等号的,不然返回码是200

TOP

不错啊 mark一下!!

TOP

lnmpa下404配置

需要在apache配置文件httpd.conf里加上:ErrorDocument 404 /404.html,
然后重启apache服务器就可以了: service httpd restart     或者     /usr/local/apache/bin/apachectl restart

TOP

回复 27# 的帖子

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

TOP

回复 16# 的帖子

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

TOP

回复 29# 的帖子

httpd.conf 里的话所有虚拟主机根目录下必须要有404.html ,对应虚拟主机或.htaccess 应该也可以 放网站根目录就行。

LNMP付费问题排查/LNMP技术支持/Paypal信用卡代付/代购VPS,域名,软件等 QQ 503228080 旺旺 lzhenbao
军哥淘宝店铺
QQ/旺旺仅提供代购及付费代维/问题解决等服务,其他不回复!LNMP相关问题请在本论坛发帖,提问前先搜索,按https://bbs.vpser.net/thread-2555-1-1.html 要求反馈问题!

TOP