Как заставить видеть PHP–скрипты в подпапках динамических поддоменов?

semx nginx-forum на nginx.us
Пн Сен 13 22:34:11 MSD 2010


Вводные:
FreeBSD 8.0–RELEASE
PHP 5.3.3
php–fpm 0.6.5
nginx/0.8.36

Все в принципе работает и корень и
поддомены и скрипты в них, но вот
незадача — при обращении к подпапке в
поддомене, т.е. например:
http://[b]client[/b].domain.com/[b]private[/b]/index.php
выводится сообщение: [u]No input file specified.[/u]
Хотя, если обращаться не к скрипту, а
обычному *.htm то все отображается ок.
http://client.domain.com/private/index.htm

Если index.php переложить в корень домена,
например http://client.domain.com/index.php то все ок.

nginx — сконфигурирован таким образом,
что папки в корневой директории,
являются поддоменами, пример:

1. /var/www/domain.com/
2. /var/www/domain.com/$subdomain

1. domain.com
2. $subdomain.domain.com

Конфиг nginx'а:

server {
listen 10.10.10.10:80;
server_name domain.com *.domain.com;

charset utf–8;

location / {

root /var/www/domain.com/$subdomain;


set $subdomain "";

if ($host ~* ^([a–z0–9–\.]+)\.domain.com$) {
set $subdomain $1;
}
if ($host ~* ^www.domain.com$) {
set $subdomain "";
}

index index.php index.html index.htm;
}

location ~ \.php$ {

fastcgi_pass unix:/tmp/php–fpm;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/domain.com$subdomain$fastcgi_sc
ript_name
fastcgi_param DOCUMENT_ROOT /var/www/domain.com;
fastcgi_param QUERY_STRING $query_string;
include fastcgi_params;


}

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,130104,130104#msg-130104




Подробная информация о списке рассылки nginx-ru