我希望当一个请求被发送到服务器,并且开头有一个字符串值(movie|series|video|…)时,该字符串被删除并指向存储数据的路径。
这是我的nginx位置配置
location ~ ^/(movie|series|video|...)/.*\.ts {
add_header Access-Control-Allow-Origin *;
add_header X-App-Id media-service-nginx;
rewrite ^/(movie|series|video|...)/(.*)$ /$1 break;
root /storage/media;
}
这样的请求被发送到服务器
http://api.media.loc/movie/2023/02/21/video-1080-chunk_intro_300.ts
http://api.media.loc/series/2023/02/21/video-1080-chunk_intro_200.ts
http://api.media.loc/video/2023/02/21/video-1080-chunk_intro_100.ts
最后,应该将请求重定向到路径,例如
/storage/media/2023/02/21/video-1080-chunk_intro_300.ts
此配置为多字符串提供404错误
但是,如果在配置中写入字符串,则它可以正常工作,
~ ^/movie/.*\.ts
我希望它支持多规则
~ ^/(movie|series|video|...)/.*\.ts
并重写
^/(movie|series|video|...)/(.*)$ /$1
,这不工作,请帮忙