我想为一个位置的两个别名创建一个位置规则。
这是用于一个位置的规则:
location ~ ^/images/(.*)$ { alias /var/www2/images/$1; }
我想做的是在位置定义两个别名。例如,
我可以访问http://domain.com/styles/file.css和 http://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
.
关于regex - 多个 Nginx 别名到一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458986/