2

I have a drupal app and 2 other app written in php, i want use a rewrite uri for drupal and place drupal in virtual root / and the other by their names ... and use the server cache for the img of each app.

ex :

  • xxx.com or xxx.com/ --> /var/www/xxx.com/drupal/
  • xxx.com/app1 or xxx.com/app1/ ----> /var/www/xxx.com/app1/
  • xxx.com/app2 or xxx.com/app2/ ----> /var/www/xxx.com/app2/

I have tested : alias, root in each location, conditional $request_uri, separate config ... and always one error : img path, php path, 404 for one of all app or drupal

so I'm really lost ...

here a test (maybe some good things) :

 # enforce www if ($host !~* ^(www)) { rewrite ^/(.*)$ $scheme://www.$host/$1 permanent; } location / { root /var/www/gplaza.cl/Drupal; index index.php index.html; if (!-f $request_filename) { rewrite ^(.*)$ /index.php?q=$1 last; break; } if (!-d $request_filename) { rewrite ^(.*)$ /index.php?q=$1 last; break; } } location /app1/ { alias /var/www/gplaza.cl/app1/; index index.php; } location /app2/ { alias /var/www/gplaza.cl/app2/; index index.php; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME /var/www/xxx.com$fastcgi_script_name; } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ { set $static_content /var/www/xxx.com/Drupal; if ($request_uri ~ ^/app1) { set $static_content /var/www/xxx.com/app1; } if ($request_uri ~ ^/app2) { set $static_content /var/www/gplaza.cl/app2; } expires 30d; access_log off; root $static_content; } thank a lot if anybody can help me :) 

1 Answer 1

1

The location directives are checked in a predefined order (http://wiki.nginx.org/HttpCoreModule#location). In your case, the regular expression for PHP files is anc cache management are consideres first, then the / location and (if / should not match) the /app1/ and /app2/ directives. As root will always match, /app1/ is never checked.

The solution is simpley: Put the /app1/ and /app2/ before the /-location directive and reload the nginx configuration.

BurninLeo

1
  • thx some much !!!! Commented Jul 29, 2013 at 20:02

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.