nginx и SCRIPT FILENAME

Перелезаю на своем хостинге с апача на nginx и пока не очень хорошо ориентируюсь в конфигах. Решил устроить себе поддомены с админкой, багтрекером, блекджеком и шлюхами:
server {
        listen 80;
        server_name "~^(.+).supersite.name$";
        set $sub $1;
        root /srv/http/hosts/supersite/$sub;
        index index.html index.htm index.php;
        location / {
                try_files $uri $uri/ index.php$query_string =404;
        }
        location ~ .php$ {
                fastcgi_split_path_info ^(.+.php)(/.+)$;
                include fastcgi_params;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        }
#Этот локейшен настроен по примеру из the bug genie, который и планируется использовать как багтрекер
        location ~ /(.*) {
                set $suburi $1;
                try_files $uri $uri/ /index.php?url=$suburi&$args =404;
        }
}
bt.supersite.name верно ссылается на index.php, bt.supersite.name/DISCLAIMER.TXT читает ровно то, что нужно, а bt.supersite.name/login отваливается, не находя файл, в лог ошибок валится следующее:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream
ЧЯДНТ?

1 ответов


1. я бы не рекомендовал делать _один_ вайлкард виртуал-хост для разного типа приложений
лучше разбей на несколько server-блоков, что-бы не было путаницы и конфликта рерайтов

2. зачем ты возвращаешь код 404 для /index.php?url=$suburi&$args ?
(=404 означает, что для /index.php?url=$suburi&$args установить статус 404)