【发布时间】:2017-04-25 05:25:33
【问题描述】:
首先我想说我对 nginx 比较陌生,我基本上只知道我上周学到的东西。
也就是说,我目前有一个标准配置的 Nginx 服务器:
server {
listen 80;
server_name site.com;
root /var/www/site.com/;
index index.php;
location / {
try_files $uri $uri/ /index.php;
}
location /microsite/first {
try_files $uri $uri/ /microsite/first/;
}
location /microsite/second {
try_files $uri $uri/ /microsite/second/;
}
...
}
这很好用,尽管对于我添加到现有站点的每个 microsite,它都需要添加一个新位置,以引用新 microsite 的路径。
我的问题是: 是否可以动态设置 location 参数,使其捕获和引用 microsite/ 目录中存在的任何子目录?
例如类似于重写规则 rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;(取自 nginx 站点)但应用于 location 参数的内容,例如:
location ~ ^/microsite/(.*)$ {
try_files $uri $uri/ /microsite/$1/;
}
$1 会在其中捕获(.*) 中传递的子目录名称?
(我尝试了这个我参考(另一个)Nginx dynamic location configuration 问题的答案构建的 sn-p,尽管它不起作用)
另外,我不是正则表达式专家,过去我对它进行了一些调整,但那是不久前的事了,我不记得确切的术语,所以这可能是问题的一部分,也许? !
无论如何,感谢所有帮助。
提前致谢!!
【问题讨论】:
标签: nginx nginx-location