One domain, two home directories

Hi there.

I have problem with handling two different home directories into one
domain. For example my domain is mydomain.net and it points to directory
/home/emers/www/

[…]
server {
listen 80;
server_name mydomain.net;
access_log /var/log/www/access_log_emers combined;
error_log /var/log/www/error_log_emers error;
root /home/emers/www;
index index.html index.htm index.php;

     location ~ /\.ht {
         deny        all;
     }

     location ~ .*\.php?$ {
         include /etc/nginx/fastcgi.conf;
         fastcgi_pass  unix:/tmp/fcgi.socket;
         fastcgi_index index.php;
     }
 }

[…]

There is another user account in /home/mail/atmailopen/ with .php and
.html files.

The question is how to alias mydomain.net/mail into
/home/mail/atmailopen directory? I tried to add location:

     location /mail {
         alias       /home/poczta/atmailopen/;
     }

inside server brackets (included above), then .php files produces “No
input file specified” message, .html files are showed property.


Regards.

Emers

On Thu, Jul 03, 2008 at 08:36:26PM +0200, Emers wrote:

    root            /home/emers/www;
    }
        alias       /home/poczta/atmailopen/;
    }

inside server brackets (included above), then .php files produces “No
input file specified” message, .html files are showed property.

Probably, you need to add the location and rewrite URI to match root:

      location ~ ^/mail/.*\.php?$ {

          rewrite  ^/mail(.+)$   $1   break;

          root        /home/poczta/atmailopen/;
          include /etc/nginx/fastcgi.conf;
          fastcgi_pass  unix:/tmp/fcgi.socket;
          fastcgi_index index.php;
      }

Igor S. wrote:

    access_log      /var/log/www/access_log_emers combined;
        fastcgi_pass  unix:/tmp/fcgi.socket;
          rewrite  ^/mail(.+)$   $1   break;

          root        /home/poczta/atmailopen/;
          include /etc/nginx/fastcgi.conf;
          fastcgi_pass  unix:/tmp/fcgi.socket;
          fastcgi_index index.php;
      }

Thanks for the answer. Your solution works almost great. Addind two
followed locations seems to solve the problem, when URI hasn’t folders
inside mail directory (f.e: mydomain.com/mail/index.php), but scripts in
subdirectories in /home/mail/atmailopen/*/ tree redirect to
mydomain.com/ link, instead of MyDomain Login.

For example, link in mydomain.com/mail/install/index.php?step=3 directs
to mydomain.com/install/index.php?step=4. mail/ is lost.

My locations are as follow:

     location /mail {
         alias       /home/mail/atmailopen/;
     }
     location ~ ^/mail/.*\.php?$ {
         rewrite     ^/mail(.+)$   $1   break;
         root        /home/mail/atmailopen/;
         include /etc/nginx/fastcgi.conf;
         fastcgi_pass  unix:/tmp/fcgi.socket;
         fastcgi_index index.php;
     }


Regards.

Emers