我已经经历了太多关于stackoverflow的答案,但不能弄清楚如何为我的需求编写regex。
在我的http://server/xyz/1234/1233/8080/中,我使用了以下正则表达式位置将上面的http://server/xyz/1234/1233/8080/重定向到127.0.0.1:8080,但它给我404未找到错误。
我正在默认文件中写入此位置块。
location ~ ^/xyz/([0-9]+)/([0-9]+)/([0-9]+)/
{
rewrite ^/xyz/([0-9]+)/([0-9]+)/(.*)/$ break;
proxy_pass http://localhost:$1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
我不知道我哪里做错了,因为我已经像说的那样用了
*^, $
-分别表示行的开始和结束。
*(.*)
-表示第一个匹配所有内容的捕获组。
1条答案
按热度按时间wrrgggsh1#
在
rewrite
指令中有三个捕获组:但是你尝试使用第一个组作为上游端口。无论如何,这里你不需要任何
rewrite
规则。你只需要在location中声明命名的组,并使用match作为nginx变量,如下所示: