Having multiple Symfony2 apps on same domain
Naji Astier
naji.demolitionman at gmail.com
Mon Dec 29 14:52:20 UTC 2014
Thanks you for your answer, you helped me to make it working. ;)
This is my final configuration :
server {
listen 80;
server_name mydomain;
root /server/www;
location @rewriteMainApp {
rewrite ^(.*)$ /app.php/$1 last;
}
location @rewriteOtherApp1 {
rewrite ^(.*)$ /subdir1/app.php/$1 last;
}
location /subdir1 {
alias /server/www/other-app1/web;
index app.php;
set $subfolder "other-app1/web";
try_files $uri @rewriteOtherApp1;
}
location / {
root /server/www/main-app/web;
index app.php;
set $subfolder "main-app/web";
try_files $uri @rewriteMainApp;
}
# PROD
location ~ /app\.php(/|$) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root/$subfolder/app.php;
}
}
Le 29/12/2014 00:03, B.R. a écrit :
> You are using the same named location as the fallback of the try_files
> directive, although you are dealing with three different paths.
>
> Why do not you use one fallback named location per app location, each
> rewriting to the correct path?
> ---
> *B. R.*
>
> On Sun, Dec 28, 2014 at 10:16 PM, Naji Astier
> <naji.demolitionman at gmail.com <mailto:naji.demolitionman at gmail.com>>
> wrote:
>
> Le 28/12/2014 20:30, Steve Holdoway a écrit :
>
> On Sat, 2014-12-27 at 05:52 -0500, Claros wrote:
>
> Hello everybody !
>
> I just switched from Apache2 to Nginx and I met some
> issues having the same
> configuration. What I want to do is having multiple
> Symfony2 apps on the
> same domain name. Each app will have a subdirectory and a
> main app will be
> on the domain name itself. For instance :
> http://mydomain/ -> main app
> http://mydomain/subdir1 -> another app
> http://mydomain/subdir2 -> yet another app
> One of Symfony2 feature is to have only three php files to
> be executed, and
> all the URL are rewritten to those files. You can found
> basic configuration
> for Symfony2 at this address if you need more information :
> http://wiki.nginx.org/Symfony
> Now after many hours of configuration, with the help of
> debug logs, I almost
> did it. This is my current configuration :
>
> server {
> listen 80;
> server_name mydomain;
> root /server/www/main-app/web;
>
> location @rewriteapp {
> rewrite ^(.*)$ /app.php/$1 last;
> }
>
> location /subdir1/ {
> # alias /server/www/other-app1/web;
> set $root "/server/www/other-app1/web";
> # try to serve file directly, fallback to app.php
> try_files $uri @rewriteapp;
> }
>
> location / {
> index app.php;
> set $root "/server/www/main-app/web";
> # try to serve file directly, fallback to app.php
> try_files $uri @rewriteapp;
> }
>
> # PROD
> location ~ ^/app\.php(/|$) {
> fastcgi_pass unix:/var/run/php5-fpm.sock;
> fastcgi_split_path_info ^(.+\.php)(/.*)$;
>
> include fastcgi_params;
> fastcgi_param SCRIPT_FILENAME
> $root$fastcgi_script_name;
> fastcgi_param SCRIPT_NAME $fastcgi_script_name;
> fastcgi_param PATH_INFO $fastcgi_path_info;
> }
> }
>
> Why did I create a variable "$root" ? Because when I was
> using the root (or
> alias) directive in a location block and the variable
> $document_root, I
> found out that this variable has as final value (in the
> location app.php)
> the first root directive in the server or the default root
> location.
> With this configuration, it almost work. The main app
> works and the
> subdirectories are correctly sent to their directory. The
> last problem is
> that the URI processed by the file app.php also contains
> the subdirectory in
> it, so the others apps send 404 for all the URL. I tried
> to fix that by
> changing "REQUEST_URI" parameter, but with that the
> app.php generate wrong
> URL without the subdirectory.
>
> So is their a way to achieve this configuration ? Thanks you !
>
> Posted at Nginx Forum:
> http://forum.nginx.org/read.php?2,255806,255806#msg-255806
>
> Try using a map to set the $root...
>
> Steve
>
> Ok I did not know the map system, it is interesting. But it is
> only simplifying my configuration, not solving the problem.
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org <mailto:nginx at nginx.org>
> http://mailman.nginx.org/mailman/listinfo/nginx
>
>
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20141229/2c3e4270/attachment.html>
More information about the nginx
mailing list