SonkoDmitry
@SonkoDmitry
Веб разработчик

Как запустить два фреймворка на nginx?

Есть два разных фреймворка для апи системы. Старая версия (1.0, 1.1), базировались на одном фреймворке и находятся в папка v1.0, v1.2 относительно документрут хоста. В версии 1.2 планируем часть функций вынести на один фреймворк, часть на другой, в версии 1.3 полностью перейти на новый. Вопрос в том, как это разрулить конфигом, чтобы отрабатывал реврайт. В итоге статику, которая лежит в папке v1.2 и запрашиваемую по адресу rest.ru/1.2/favicon.ico например он не выдает, а пытается переслать на индекс, а индекс не исполняется, а отдается на скачивание. Конфиг в текущем виде выглядит как:
server {
    listen       80;
    server_name  rest.ru;
    root       /var/www/rest;
    index index.php index.html;	
 
    access_log  /var/logs/rest.access.log  main;

    location / {
       try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?_url=/$1;
    }

    location ~ \.php {
        set $php_root /var/www/rest;

        if ($request_uri ~ /1.2/){
            set $php_root /var/www/rest/v1.2/public;
        }

        #try_files      $uri = 404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_NAME $fastcgi_script_name;
        fastcgi_param SCRIPT_FILENAME $php_root$fastcgi_script_name;
        fastcgi_param  APPLICATION_ENV development;
        include        fastcgi_params;
    }

    location /1.2/ {
        alias /var/www/rest/v1.2/public/;
    }
}

Буду благодарен за помощь
  • Вопрос задан
  • 2222 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы