Estoy intentando configurar una aplicación Symfony2 en un subdirectorio de nuestro servidor.
Servidor web: nginx 1.1.6 + php fpm SO: gentoo
mi objetivo es hacer que la aplicación funcione desde un subdirectorio
subdominio.xy.dominio.tld/herramienta
mi configuración de nginx se ve así
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;
}
}
}
Realmente no tengo idea de cómo hacer esto... Busqué en la web durante horas y probé docenas de configuraciones diferentes, pero nada funcionó. Espero que alguien tenga una idea =)
Respuesta1
Encontré la solución tal vez ayude a alguien más.
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;
}
}