Nginx的正则表达式,URL中包含动态子目录元素

时间:2016-01-05 06:05:17

标签: regex nginx

我在子目录中安装了多个应用程序,其名称结构如id random string

  

17aefk
  18kauf
  19naku

现在我正在使用我的Nginx配置并使其工作如下:

    location /17aefk/ {
        try_files $uri /17aefk/index.php$is_args$args;
    }

但是我希望所有文件夹都有一个工作位置,所以我需要这是一个注册表。但这就是我挣扎的地方。

location ^/(.+)/? {
        try_files $uri /$1/index.php$is_args$args;
}

只是导致错误open() "/var/www/domain/17aefk/index.php/s/dashboard" failed (20: Not a directory)

我可以以某种方式获得更好的调试视图,还是可以立即看到我的(正则表达式)问题?

编辑: domain.com/17aefk/index.php将我转发给domain.com/17aefk/index.php/s/dashboard(由于网络应用程序逻辑)

1 个答案:

答案 0 :(得分:0)

尝试定位动态文件夹的特定模式:

location ~ ^/\d+[a-zA-Z]+/ {
        try_files $uri /$1/index.php$is_args$args;
}