Поддержка NGINX изменение имени папки

#nginx

#nginx

Вопрос:

 
    location ~ .(jpg|png|css|js|html|json|svg|jpeg) {
            try_files $uri =404;
    }

    location ~ ^/amk(.*) {
        include fastcgi_params;
        fastcgi_split_path_info ^(. .php)(/. )$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root/amk/app.php;
    }

    location ~ ^/ewan(.*) {
        include fastcgi_params;
        fastcgi_pass localhost:9000;
        fastcgi_split_path_info ^(. .php)(/. )$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root/ewan/app.php;
    }

 

В принципе, я хочу сохранить эту конфигурацию nginx, но каталог изменится
Так что это может быть amk, это может быть mcaq
Поэтому я хочу https://example.com/apps/FOLDER чтобы перенаправить php на $document_root/FOLDER/app.php
Но https://example.com/apps/FOLDER/images/test.jpg чтобы перейти к $document_root/FOLDER/images/test.jpg
Есть идеи?

Ответ №1:

     location ~ .(jpg|png|css|js|html|json|svg|jpeg) {
        rewrite ^/apps(/.*)$ $1 break;
        try_files $uri =404;
    }

    location ~ ^/apps/([^/] )/?(.*?)$ {

        set $site $1;
        set $loc $2;

        include fastcgi_params;
        fastcgi_split_path_info ^(. .php)(/. )$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root/$site/app.php;
    }
 

Это решение, которое я нашел.