繁体   English   中英

多个Nginx别名到一个位置

[英]Multiple Nginx Alias to One Location

我想为一个位置创建两个别名的位置规则。

这是用于一个位置的规则:

location ~ ^/images/(.*)$ { alias /var/www2/images/$1; }

我想要做的是在位置定义两个别名。 例如,我可以访问http://domain.com/styles/file.csshttp://domain.com/css/file.css ,它会转到一个别名,即/ var / www2 / styles /

我尝试过类似的东西,但它对我不起作用。

location ~ ^/(styles|css)(.*)$ { alias /var/www2/styles/$1; }

但是,我再也不知道正则表达式。

尝试:

location ~ ^/(?:styles|css)/(.*)$ { alias /var/www2/styles/$1; }

要么

location ~ ^/(styles|css)/(.*)$ { alias /var/www2/styles/$2; }

$1指的是第一个捕获组(...) 当您添加另一个组时,它会引用该组。 您可以使用非捕获组(?:...) ,或者引用第二个捕获组$2

如果有人正在寻找匹配以字符串开头而不是以字符串结尾的路径的正则表达式,这里有一个匹配/users/sales/invoices (以及/users/settings类的子路径)的工作示例:

location ~ ^\/(users|sales|invoices) {
     proxy_pass         http://sample.local; 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM