Я пытаюсь установить приложение symfony2 в подкаталог нашего сервера
Веб-сервер: nginx 1.1.6 + php fpm ОС: gentoo
моя цель - заставить приложение работать из подкаталога
subdomain.xy.domain.tld / инструмент
моя конфигурация nginx выглядит так
server {
listen 80;
server_name subdomain.xy.domain.tld;
error_log /var/log/nginx/subdomain.xy.error.log info;
access_log /var/log/nginx/subdomain.xy.access.log main;
location /tool {
root /var/www/vhosts/subdomain.xy/tool/web;
index app.php;
location ~ \.php($|/) {
include fastcgi_params;
set $script $uri;
set $path_info "";
if ($uri ~ "^(.+\.php)($|/)") {
set $script $1;
}
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME /var/www/vhosts/subdomain.xy/tool/web$fastcgi_script_name;
#fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_NAME $script;
fastcgi_param PATH_INFO $path_info;
}
}
}
Я действительно понятия не имею, как это сделать ... Я искал в Интернете несколько часов и пробовал десятки различных конфигураций, но ничего не помогло. Надеюсь у кого-то есть идея =)
Нашел решение, может быть, это поможет кому-то другому
server {
listen 80;
server_name domain.xy;
error_log /var/log/nginx/domain.xy.error.log info;
access_log /var/log/nginx/domain.xy.access.log main;
root /var/www/vhosts/domain.xy;
location /tool {
alias /var/www/vhosts/domain.xy/tool/web;
index app.php;
if (-f $request_filename) {
break;
}
rewrite ^(.*)$ /tool/app.php last;
}
location ~ /tool/(.+)\.php(/|$) {
set $script $uri;
if ($uri ~ "/tool/(.+\.php)(/|$)") {
set $script $1;
}
fastcgi_pass backend;
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root/tool/web/$script;
}
}