One domain, two home directories
Emers
emers at euro-net.pl
Tue Jul 15 23:46:22 MSD 2008
Igor Sysoev wrote:
> On Thu, Jul 03, 2008 at 08:36:26PM +0200, Emers wrote:
>
>> 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.
>
> 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;
> }
>
>
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.com/mail/.
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
More information about the nginx
mailing list