nginx:将 vimbadmin 安装到子文件夹

nginx: Install vimbadmin in to subfolder

我试图将 vimbadmin 安装到子文件夹中,但我不能。无论我使用什么配置,vimbadmin 都无法正常工作。这是我最后的配置

# vimbadmin
location /vimbadmin {
    alias /usr/share/vimbadmin/public;
    index index.php index.html index.htm;
    location ~ ^/vimbadmin/(.*\.(js|css|gif|jpg|png|ico))$ {
        alias /usr/share/vimbadmin/public/;
    }
}

但是 nginx return 我的错误:403 -

*14 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 90.154.205.85, server: mail.devx.biz, request: "GET /vimbadmin/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm.sock:", host: "mail.example.com"

我无法想象它有多难。Here 是原始的 nginx confiration,它在 domain/subdomain 上完美运行。

你能帮我提供一些建议,或者为此做的示例配置吗?

最后,我最后的工作 nginx 配置

location ^~ /vimbadmin {
    alias /usr/share/vimbadmin/public;
    try_files $uri $uri/ @vimbadmin;
    location ~* \.php {
        include fastcgi_params;
        fastcgi_index index.php;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $request_filename;
    }
}

location @vimbadmin {
    rewrite ^/vimbadmin/(.*)$ /vimbadmin/index.php? last;
}