nginx维护页面处理-全部URL指向同一个页面
一般来说nginx的维护页面需要把所有访问本站的链接全部重定向到某个指定页面
对于简单的页面 rewrite
将一下语句加在最后即可
rewrite ^(.*)$ /maintain.html break;
注意这句后面如果有重定向等语句,那么后面执行的重定向等语句需要全部注释掉
使用状态码
修改 nginx 的 conf 文件,例如
location / {
# return 502;
root /home/blog/frontend/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /back {
# return 502;
alias /home/blog/frontend/back/dist;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
location /update {
alias /home/blog/update;
try_files $uri $uri/ /index.html;
index index.html index.htm;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 @tempdown;
location @tempdown {
rewrite ^(.*)$ /update break;
}
注意在最后一个代码块中,所有的 50x
错误都被转跳到了 /update
的路径下
在实际使用中,可以在 /update
的路径下部署静态网页元素,当需要进行网站升级时所有的路径都返回 50x
代码(去掉注释符即可)转跳到 /update
路径下