打印

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

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

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

3.更改nginx.conf或虚拟主机的域名.conf在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
/usr/local/nginx/sbin/nginx -s reload
注意事项:
1.必须要添加:fastcgi_intercept_errors on; 如果这个选项没有设置,即使创建了404.html和配置了error_page也没有效果。
2.不要出于省事或者提高首页权重的目的将首页指定为404错误页面,也不要用其它方法跳转到首页。
3.自定义的404页面必须大于512字节,否则可能会出现IE默认的404页面。例如,假设自定义了404.html,大小只有11个字节(内容为:404错误)。


TOP

回复 1# 的帖子

[emerg]: directive "error_page" is not terminated by ";" in /usr/local/nginx/conf/nginx.conf:64
configuration file /usr/local/nginx/conf/nginx.conf test failed


老大我按你的设置就出现上面那个错误。怎么解决啊

TOP

我的VPS支持伪静态,怎么弄都是不行哦。大大帮忙看看啊

[ 本帖最后由 clzz 于 2011-1-17 12:45 编辑 ]

TOP

回复 1# 的帖子

大大,帮帮忙呀。

TOP

回复 2# 的帖子

按提示应该是error_page那一行少了一个;

TOP

回复 3# 的帖子

伪静态按/root/vhost.sh添加的时候的提示写上就行了

TOP

为什么原本
http://我的域名.com/404test → wordpress错误页面
加入
复制内容到剪贴板
代码:
fastcgi_intercept_errors on;
error_page 404 = /404.html;
后,变成
http://我的域名.com/404test → 自定义404错误页面

要怎么像vps侦探
https://www.vpser.net/404test → wordpress错误页面

TOP

回复 7# 的帖子

没加404就是显示wp的404页面,加了就显示自定义的404页面。

如果还想显示wp的404,就把自定义404去掉就行了。

TOP

配置好了
nginx.conf正确
自定义的404页面大于512字节
显示这样了,没显示自定义的那个
==================================
       404 Not Found

---------------------------------

           nginx/0.7.67

===========================

TOP

fastcgi_intercept_errors on;
这句不增加貌似也没问题也
好像php的404页面无法实现哦?  结果显示403

[ 本帖最后由 monface 于 2011-2-24 16:19 编辑 ]

TOP

请问自己创建的404文件要放到什么位置?

TOP

当前虚拟主机的web根目录

TOP

执行最后一步重启后,提示:

-bash: kill: cat: arguments must be process or job IDs
-bash: kill: /opt/nginx/nginx/pid: arguments must be process or job IDs

而且404既然没有生效

TOP

执行以下指令:

#/usr/local/nginx/sbin/nginx -s reload

nginx已经成功重启,同时404也已经生效

TOP

请教个问题安装了lnmp-0.7并安装了lnmpa  现在想知道如何设置404
感觉不起作用!!
user  www www;
worker_processes 8;
error_log  /home/wwwlogs/nginx_error.log  crit;
pid        /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 51200;
events
        {
                use epoll;
                worker_connections 51200;
        }
http
        {
                include       mime.types;
                default_type  application/octet-stream;
                server_names_hash_bucket_size 128;
                client_header_buffer_size 32k;
                large_client_header_buffers 4 32k;
                client_max_body_size 50m;
                sendfile on;
                tcp_nopush     on;
                keepalive_timeout 60;
                tcp_nodelay on;
                fastcgi_intercept_errors on;
                fastcgi_connect_timeout 300;
                fastcgi_send_timeout 300;
                fastcgi_read_timeout 300;
                fastcgi_buffer_size 64k;
                fastcgi_buffers 4 64k;
                fastcgi_busy_buffers_size 128k;
                fastcgi_temp_file_write_size 256k;
                gzip on;
                gzip_min_length  1k;
                gzip_buffers     4 16k;
                gzip_http_version 1.0;
                gzip_comp_level 2;
                gzip_types       text/plain application/x-javascript text/css application/xml;
                gzip_vary on;
                server_tokens off;
                #limit_zone  crawler  $binary_remote_addr  10m;
server
        {
                listen       80;
                server_name 192.168.1.114;
                index index.php;
                error_page  404 /404.html;
                root  /home/wwwroot;

                location / {
                        try_files $uri @apache;
                        error_page  404 /404.html;
                        }

                location @apache {
                        internal;
                        proxy_pass http://127.0.0.1:88;
                        include proxy.conf;
                        }

                location ~ .*\.(php|php5)?$
                        {
                                proxy_pass http://127.0.0.1:88;
                                include proxy.conf;
                        }

                location /status {
                        stub_status on;
                        access_log   on;
                }

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

                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
                access_log  /home/wwwlogs/access.log  access;
        }
include vhost/*.conf;
}

TOP