2016-04-20 42 views
0

我想配置以下规则: 当用户来到admin.mysite.com/username他应该得到静态文件。我决定在场所中使用正则表达式,并得到这样的:Nginx的正则表达式位置的静态文件

location ~ ^\/\w+$ { 
    alias $site_root/html 
} 

但它是非常令人惊讶的对我说的nginx不允许使用别名正则表达式的位置没有捕获组,并使用该组:

http://nginx.org/en/docs/http/ngx_http_core_module.html#alias

如果别名与正则表达式定义的位置内使用,则这样的正则表达式应包含捕获和别名应参考这些捕获。

所以,我想找到一个workarounk,一些技术,可以提供必要的行为。

回答

0

使用重写为,而不是像:

server { 
    root /some_root; 
    rewrite ^/\w+$ html last; 

    location /html { 
    ... 
    } 
}