使用 nginx 从任意子文件夹中提供 Web 应用程序

使用 nginx 从任意子文件夹中提供 Web 应用程序

我正在通过域中的任意子文件夹提供 Web 应用程序。例如

example.com/app-one (with example.com/app-one/page served by app-one)
example.com/folder/app-two (with example.com/folder/app-two/page served by app-two)

我有一个 nginx 配置,它在根级别运行良好,但我对如何处理子文件夹有点困惑。location /app-one当然,我可以创建块,但我们有几十个这样的块,我们想避免必须明确指定每个块。

有什么方法可以try_files基本上递归文件夹结构直到到达 index.php 文件?

server {
    server_name example.com

    location / {
        root /srv/web/example.com;
        index index.php index.html;
        try_files $uri $uri/ /index.php?q=$q&$args;
    }

    # pass *.php files to the PHP tier
    location ~ \.php$ {
        root /srv/web/example.com;
        include /etc/nginx/fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass php:9000;
    }
}

答案1

您的第一个位置声明应该关注子文件夹内的那些请求。

我想知道 nginx 的日志文件里有什么。

相关内容