【发布时间】:2014-08-03 18:19:03
【问题描述】:
我想为同一域下的 2 个 PHP(Symfony) 应用程序提供服务,其中一个应用程序的 URL 前缀。 所以 www.mydomain.com/ 应该服务于第一个应用程序,而 www.mydomain.com/secondapp 应该服务于第二个应用程序。 我最终得到了这个不起作用的配置:
server {
server_name mydomain.com www.mydomain.com;
location / {
root /var/www/first-app/web;
try_files $uri /app.php$is_args$args;
}
location /secondapp {
root /var/www/second-app/web;
try_files $uri /app.php$is_args$args;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
当我将第一个应用程序的根指令放在最后一个位置下时,它适用于第一个应用程序,但无法提供第二个应用程序。 我应该创建第二个服务器指令并改用子域重写吗?
谢谢!
【问题讨论】:
-
第二台服务器会发生什么?它显示错误吗? (php错误?或第一个应用程序的symfony错误?)或下载php文件?
-
对于第二个应用程序,我从 symfony 收到 404 错误(它请求 /secondapp 而我希望它请求 /,我想我需要 URL 重写)。