Nginx 服务器设置网站错误页面的指令为error_page,语法结构为:
1 | error_page code ... [=[response]] uri |
code,要处理的HTTP错误代码
response,可选项,将code制定的错误代码转化为新的错误代码response
uri,错误页面的路径或者网站地址。如果设置为路径,则是以Nginx服务器安装路径下的html目录为根路径的相对路径;如果设置为网址,则Nginx服务器会直接访问该网站获取错误页面,并返回给用户端(这里是跳转,不是抓取页面返回)。
看几个error_page指令的示例:
1 | error_page 404 /404.html; |
设置Nginx服务器使用『Nginx安装路径/html/404.html』页面相应404错误(’无法找到网页’错误);
再如:
1 | error_page 403 http://somewebsite.com/forbidden.html; |
设置Nginx服务器使用’http://somewebsite.com/forbidden.html ‘页面相应403错误(『拒绝显示网页』错误);
再如:
1 | error_page 410 =301 /empty.gif; |
设置Nginx服务器产生410的HTTP信息时,使用『Nginx安装路径/html/empty.gif』返回给用户端301消息(’已移动’消息)。
如果不想将错误页面放置到Nginx服务器的安装路径下管理,该怎么做呢?
其实这个很简单,只需要另外使用一个location指令定向错误页面到新的路径下面就可以了。比如对于上面的第一个示例,我们希望Nginx服务器使用”/myserver/errorpages/404.html”页面相应404错误,那么在设置完:
1 | error_page 404 /404.html; |
之后,我们再添加这样一个location块:
1 | location /404.html { |
首先捕获”/404.html”请求,然后将请求定向到新的路径下面即可。
error_page指令可以在http块、server块和location快中配置。