Добрый день. Помогите пожалуйста с настройками nginx. В кратце: в старом (рабочем) варианте в корневой папке лежал скомпилированный проект, который по идеи должен запускаться по index.html . Не буду вдаваться в подробности: нужно было что бы индексным файлом стал index.php, который потом подтягивал index.html.
Сперва прилагаю часть старой (рабочей) настройки:
server {
index index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
locatifastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 120;
fastcgi_index index.php;
include fastcgi_params;on ~ ^/index\.php(/|$) {
}
}
В вебприложении добавились локали, поэтому пришлось вставить настройки, который рекомендует Angular:
https://angular.io/guide/i18n#nginxСуть изменений, что теперь в корневой папке лежит не скомпилированный проект, а несколько директорий - одна директория содержит один скомпилированный проект, а значит по одному index.php в каждом скомпилированном проекте.
Новые настройки nginx:
map $http_accept_language $accept_language {
~*^ru ru;
~*^en en;
}
server {
index index.php;
rewrite ^/$ /$accept_language permanent;
location ~ ^/(ru|en) {
try_files $uri /$1/index.php?$args;
}
location ~ ^/(ru|en)/index\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_read_timeout 120;
fastcgi_index index.php;
include fastcgi_params;
}
}
Главная проблема: роутинг работает, но теперь index.php не отрабатывает как php-script, а скачивается как файл