виртуальный хостинг основе субдоменов, rewriting + PHP (fastCGI)
Igor Sysoev
is at rambler-co.ru
Mon Jul 3 12:35:07 MSD 2006
On Sun, 2 Jul 2006 andrey at mail.anti-aging-drugs.com wrote:
> Я с ним (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;
> }
>
>
> }
Нужно вынести весь rewrite на уровень сервера.
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list