Several methods of realizing 404 pages with Nginx (three kinds)
A website project, certainly can not avoid 404 pages, usually use Nginx as the Web server, there are the following centralized configuration, let's take a look.
The first: Nginx's own error page
Nginx visits a static html page, and when the page is not available, Nginx throws 404, so how do you return it to the client?
Take a look at the configuration below, in which case you don't need to modify any parameters to achieve this function.
Server {listen 80th serverpage name www.test.com;root / var/www/test;index index.html index.htm;location / {} # defines the error page number, and if the corresponding error page number occurs, forward it there. Error_page 404, 403, 500, 502, 503, 504 / 404. Htmlwitt # inherits the above location. Location = / 404.html {# the directory path where the error page is placed. Root / usr/share/nginx/html;}}
Second: the error page of the reverse proxy
If the backend Tomcat process throws a 404 error, and you want to call Nginx to feedback this status to the client or redirect to a connection, configure as follows:
Upstream www {server 192.168.1.201 server 7777 weight=20 max_fails=2 fail_timeout=30s;ip_hash;} server {listen 80th serveraccounname www.test.com;root / var/www/test;index index.html index.htm;location / {if ($request_uri ~ *'^ / $') {rewrite. * http://www.test.com/index.html redirect } # key parameters: only when this variable is enabled can we customize the error page. When the backend returns the error page 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.htmllocationlocation = / 404.html {root / usr/share/nginx/html }}
Third: Nginx parses the error page of php code
If the backend is parsed by php, you need to add a variable
Just add a variable fastcgi_intercept_errors on to the http section.
Specify an error page:
Error_page 404 / 404.htmlscape location = / 404.html {root / usr/share/nginx/html;}
Specify an url address:
Error_page 404 / 404.html
Error_page 404 = http://www.test.com/error.html;
Summary
The above is the editor to introduce you to the Nginx to achieve 404 pages of several methods, I hope to help you, if you have any questions, please leave me a message, the editor will reply you in time. Thank you very much for your support to the website!