如何修改nginx拦截所有请求指向一个固定页面

项目部署需要,升级过程中,需要将所有请求拦截到一个特定的升级通知页面。所以需要启动一个nginx拦截所有请求到此页面。

修改配置nginx.conf中server模块如下(特定页面为index.html)

    server {
        listen       8801;
        server_name  localhost;

        location / {
            try_files '' /index.html;
        }
        
        location =/index.html {
            index index.html; #可以删除此行
        }
    }

主要使用try_files指令:其作用是按顺序检查文件此处是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

示例解读:如果请求任意地址如localhost:8801/renyidizhi。nginx会先查找''是否存在,肯定不存在,则会回滚到最后一个配置/index.html,此时nginx发起一个内部请求,相当于nginx发起一个HTTP请求localhost:8801/index.html。然后会被location =/index.htm匹配住,从而跳转index的默认页面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值