我试图在我们的服务器的子目录中设置一个symfony2应用程序
networking服务器:nginx 1.1.6 + php的fpm操作系统:gentoo
我的目标是让应用程序从一个子目录工作
subdomain.xy.domain.tld /工具
我的nginxconfiguration看起来像那样
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; } } }
我真的不知道如何做到这一点…我已经search了几个小时,并尝试了几十个不同的configuration,但没有任何工作。 我希望有人有一个想法=)
find解决scheme,也许它可以帮助别人
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; } }