Есть несколько директорий типа
/var/www/site_n/на которые смотрит virtual host и в которых лежат пользовательские файлы и логи.
Есть директория
/usr/lib/cms/ с движком CMS и файлом index.php, который должен запускаться с разным окружением в зависимости от настроек хоста в nginx.
Пытаюсь настроить вот таким конфигом на примере одного домена:
server {
server_name site1.com;
root /var/www/site1.com/public_html/;
set $app_root /usr/lib/cms/;
set $app_key 454647;
access_log /var/www/site1.com/logs/access.log;
error_log /var/www/site1.com/logs/error.log;
location / {
index index.php index.html index.htm;
try_files $uri $uri/ $app_root/index.php?$args;
}
location ~ \.php$ {
try_files $uri @php;
fastcgi_pass php5-fpm-sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $app_root$fastcgi_script_name;
fastcgi_param app-key $app_key;
include fastcgi_params;
}
location @php {
fastcgi_pass php5-fpm-sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $app_root/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param QUERY_STRING q=$uri&$args;
include fastcgi_params;
}
}
При попытке запроса адреса
site1.com получаю 403 ошибку. Nginx в логах пишет, что ищет файл в директории сайта, а не в папке движка.
Помогите пожалуйста настроить правильно. И вообще, на сколько такой подход корректен?