Nginx从多个位置读取文件
对不起,我是新来nginx的,如果问题不明确,请给我指一些方向。 我在Nginx从多个位置读取文件,nginx,nginx-location,Nginx,Nginx Location,对不起,我是新来nginx的,如果问题不明确,请给我指一些方向。 我在Disk-1中有一个imagexyz.jpg,在Disk-2中有一个imageabc.jpg,当我调用url:。/image/xyz.jpg时,xyz.jpg(Disk-1)在我的nginx文件中使用别名显示。问题是: 有没有办法调用。/image/abc.jpg,就会出现abc.jpg(Disk-2) location /image/ { expires max; add_he
Disk-1
中有一个imagexyz.jpg
,在Disk-2
中有一个imageabc.jpg
,当我调用url:。/image/xyz.jpg
时,xyz.jpg(Disk-1)
在我的nginx文件中使用别名显示。问题是:
有没有办法调用。/image/abc.jpg
,就会出现abc.jpg(Disk-2)
location /image/ {
expires max;
add_header Pragma public;
add_header Cache-Control "public";
alias /image_data/;
}
编辑:我使用了try\u文件
,但不起作用
location @image2 {
alias /image_data_2/;
try_files $uri $uri/ =404
}
location /image/ {
expires max;
add_header Pragma public;
add_header Cache-Control "public";
alias /image_data/;
try_files $uri $uri/ @image2;
}
因此,您希望检查两个文件夹中的图像,以匹配以/image/
开头的URI
您可以使用正则表达式location
块捕获前缀后面的URI部分,这样可以避免使用alias
指令。正则表达式位置是按顺序计算的,因此块在服务器
块中的位置非常重要。有关详细信息,请参阅
在位置
块的保护范围内,根
被设置为一个公共父目录(在本例中为/
),并使用try\u files
术语构造文件的路径
例如:
location ~ ^/image/(.*)$ {
expires max;
add_header Pragma public;
add_header Cache-Control "public";
root /;
try_files /image_date/$1 /image_data_2/$1 =404;
}
有关详细信息,请参阅。您可以使用try\u文件
尝试多个位置。是否有一个公共目录可以用作磁盘1和磁盘2的根目录
。。