Home > Article > Operation and Maintenance > How to customize exclusive 404 page in Nginx
Nginx accesses a static html page. When this page does not exist, Nginx throws 404. So how to return 404 to the client?
Look at the configuration below. In this case, there is no need to modify any parameters to achieve this function.
server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; location / { }# 定义错误页面码,如果出现相应的错误页面码,转发到那里。error_page 404 403 500 502 503 504 /404.html;# 承接上面的location。location = /404.html {# 放错误页面的目录路径。root /usr/share/nginx/html; } }
If the background Tomcat processing error throws 404, you want to call Nginx to feedback this status to the client or redirect to a certain connection. The configuration is as follows:
upstream www { server 192.168.1.201:7777 weight=20 max_fails=2 fail_timeout=30s; ip_hash; } server { listen 80; server_name www.test.com; root /var/www/test; index index.html index.htm; location / {if ($request_uri ~* ‘^/$’) { rewrite .* http://www.test.com/index.html redirect; }# 关键参数:这个变量开启后,我们才能自定义错误页面,当后端返回404,nginx拦截错误定义错误页面proxy_intercept_errors on; proxy_pass http://www; proxy_set_header HOST $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-FOR $proxy_add_x_forwarded_for; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } }
If the backend is parsed by php, you need to add a variable
Add it in the http section A variable fastcgi_intercept_errors on will do the trick.
Specify an error page:
error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } 指定一个url地址: error_page 404 /404.html; error_page 404 = http://www.test.com/error.html;
The above is the detailed content of How to customize exclusive 404 page in Nginx. For more information, please follow other related articles on the PHP Chinese website!