nginx - nginx rewrite中括号的含义
问题描述
我刚开始使用 nginx,有一条我不清楚的重写行:
server {
server_name server.com;
location /rt/v1 {
rewrite ^/rt/v1/(.*) /$1 break;
proxy_pass http://192.168.8.8:15555;
}
}
假设我们输入http://server.com/rt/v1/index.html,结果是http://192.168.8.8:15555/index.html吗?() 中的 .* 有什么用?
解决方案
这是一个正则表达式捕获组。
当您查看此命令时:
rewrite ^/rt/v1/(.*) /$1 break;
这意味着具有该模式的 URL/rt/v1/whatever
将被重写为/whatever
:
- 捕获后面的
(.*)
任何字符序列/rt/v1/
- 引用第
$1
一个捕获的组
推荐阅读
- c# - Unity 将图像上传到服务器,但 Codeigniter 不工作
- php - 为什么在 Shopify 购物车/添加 API 中使用警报仅在 Firefox 浏览器的购物车中添加产品?
- arrays - 如何将形状 (N , N) 维度的数组重塑为 (N , N , 3)
- swift - 无法通过将 cookieAcceptPolicy 设置为 .never 来禁用 cookie
- ios - UitableView 不滚动超过第一个单元格
- thorntail - What is the simplest way to add application users in a Thorntail WildFly server?
- unity3d - ML-AGENTS tensorflow 模型未在推理模式下运行
- c - How to change signal handler in child-process?
- cron - 本月第 n 个星期六的 Linux crontab
- android - 单击标记谷歌地图sdk后如何向下移动相机视图