виртуальный хостинг основе субдоменов, rewriting + PHP (fastCGI)

andrey at mail.anti-aging-drugs.com andrey at mail.anti-aging-drugs.com
Sun Jul 2 21:27:05 MSD 2006


Привет,

Я с ним (nginx) первый раз столкнулся. Замучился уже с настройкой rewrite+php (fastcgi). Могли бы показать? 
Мне надо сдлелать "разброску" по поддоменам (это я уже решил) так, чтоб это нормально работало с PHP (это и есть проблема).

Проблема заключается в том, что в ответ на http://SOME.localhost.ru/ я
получаю то, что ожидается (/index.php), а в ответ на
http://SOME.localhost.ru/index.php получаю сообщение "No input file
specified", т.е. я неверно настроил реврайтинг либо, что более
вероятно, ошибка в строке fastcgi_param  SCRIPT_FILENAME.

С этой строкой я долго возился, пытаясь вписывать в нее значения по
условиям (типа if ($host_name != SOME.localhost.ru)), но ничего не
вышло.

Могзи кипят:) Надеюсь на помощь.

Вот мой конфиг.

    server {

        listen       127.0.0.1:80;
        server_name  localhost.ru  *.localhost.ru


        location / {
                root   /home/www/data/public_html/;
                index  index.php index.html index.htm;


                # перенаправление YYY.XXX.localhost.ru на XXX.localhost.ru
                if ($http_host ~ ^.+\.[^\.]+\.localhost\.ru.*$) {
                    rewrite ^(.*)$  $http_host$1;
                    rewrite ^.*\.([^\.]+)\.localhost\.ru(.*)$ http://$1.localhost.ru$2 permanent;
                    break;
                }


                # отображение XXX.localhost.ru в пользовательские папки XXX
                if ($http_host ~ ^.*\.localhost\.ru.*$) {
                    rewrite ^(.*)$  $http_host$1;
                    rewrite ^(.+)\.localhost\.ru(.*)$ /ub$2 break;
                    break;
                }


        }

        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/www/data/public_html$fastcgi_script_name;
            fastcgi_param  QUERY_STRING     $query_string;
            fastcgi_param  REQUEST_METHOD   $request_method;
            fastcgi_param  CONTENT_TYPE     $content_type;
            fastcgi_param  CONTENT_LENGTH   $content_length;
        }


    }







More information about the nginx-ru mailing list