nginx location 正则配置多个路由模块

nginx location 正则配置多个路由模块
 # 示例nginx配置文件,其中包含两个location块,分别匹配以/post和/user开头的URL路径:
 server {
    listen 80;
    server_name example.com;

    location ~ ^/post/(.*)$ {
        # 匹配以/post开头的URL路径
        # $1 代表正则表达式中的第一个捕获组,即(.*)匹配的内容
        proxy_pass http://localhost:8000/posts/$1;
    }

    location ~ ^/user/(.*)$ {
        # 匹配以/user开头的URL路径
        # $1 代表正则表达式中的第一个捕获组,即(.*)匹配的内容
        proxy_pass http://localhost:8000/users/$1;
    }
}

上述示例中

  • 第一个location块匹配以**/post**开头的URL路径,并将请求转发到http://localhost:8000/posts/路径下
  • 第二个location块匹配以**/user**开头的URL路径,并将请求转发到http://localhost:8000/users/路径下
nginx 一个 location 正则配置多个路由模块
示例 1
server {
    listen 80;
    server_name example.com;

    location ~ ^/(post|user)(.*)$ {
        # 匹配以 /post 或者 /user 开头的URL路径
        # $1 代表正则表达式中的第一个捕获组,即(.*)匹配的内容
        proxy_pass http://localhost:8000/posts/$1;
    }
}

上述示例中

  • 使用了正则表达式来匹配以/user//post开头的路径,并且后面可以跟任意字符
  • 其中~表示使用正则表达式匹配,^表示匹配行的开头,()表示分组,|表示或,.*表示匹配任意字符
  • 这个正则表达式可以匹配类似于/user/123/post/abc/def这样的路径
  • 另外,根据引用中的规则,location ~,~*的正则顺序是按照配置文件中出现的顺序进行匹配的
  • 因此在配置文件中应该按照需要的顺序编写正则表达式
示例 2
 server {
    listen 80;
    server_name kiki.lic.com;
    charset utf-8;
    access_log /var/log/nginx/www.lic.com-access.log;

    location ~ /(post|article|news) {
        rewrite (.+) http://www.lic.com/kiki$1 permanent;
    }

    location / {
        root html;
        index index.html index.htm;
    }
}

上述配置中

  • 使用了正则表达式/(post|article|news)来匹配三个路由模块
  • 然后使用rewrite指令将匹配到的URL重定向到http://www.lic.com/kiki
  • 其中,$1表示正则表达式中第一个括号内匹配到的内容,即路由模块的名称
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I believe I can fly~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值