nginx location 正则匹配问题

新手上路,请多包涵

问题描述

规则匹配不到对应的location

问题出现的平台版本及自己尝试过哪些方法

windows + nginx-1.21.2

相关代码

server {
        listen       8800;
        server_name  localhost;

        location / {
            root   D:\dir1;
            index  index.html index.htm;
        }

        location ~ ^/rule/?$ {
            charset utf-8;
            root D:\dir2;
            rewrite ^/rule/?$ /rule.txt;
        }
    }

你期待的结果是什么?实际看到的错误信息又是什么?

希望访问 /rule /rule/ 时返回 D:\dir2\rule.txt
其他类似 /rule1 rule/1 之类的走默认的 /

目前这个规则即使访问 /rule 也会去 D:\dir1 下找文件
p.s. 通过这个网站测试符合预期 https://nginx.viraptor.info/,但实际运行不符合预期

阅读 683
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题