ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Реврайт поддоменов. Фрейм ворк Yii



Да, адреса должны переписываться в нечто на подобие этого:
corpix.ru/index.php/controller/action?blogname=aaa
Для .jpg, .png, .js, .css и т.д. был прописан отдельный location
    location ~ "\.(js|ico|gif|jpg|png|css)$" {
        root            /www/corpix.ru/pub/;
    }

"if (!-e $request_filename)" никак не связан с blogName

Вот как конфиг выглядит сейчас
server {
    index                index.php;
    server_tokens            off;
    autoindex            off;
    listen                192.168.0.3:80 default;
    server_name            corpix.ru www.corpix.ru;
    charset                utf-8;
    access_log            /var/log/nginx/corpix.ru/access.log    main;
    error_log            /var/log/nginx/corpix.ru/error.log;
    root                /www/corpix.ru/pub/;
  
    location ~ "^.ht(.*)$" {
        deny            all;
    }

    location ~ \.flv$ {
        root            /www/corpix.ru/pub/;
        flv;
    }
   
    location ~ "/a/i/" {
        access_log            off;
    }
   
    location / {
        try_files        $uri $uri/ @yii;
    }

    location @yii {
        rewrite         (.*) /index.php/$1 last;
    }   

    location ~ \.php {
        fastcgi_pass        unix:/var/run/php/php-fpm.sock;
        fastcgi_index        index.php;
        fastcgi_param        SCRIPT_FILENAME    /www/corpix.ru/pub/index.php;
        include            fastcgi_params;
    }
}

server {
    index                index.php;
    listen                192.168.0.3:80;
    server_tokens            off;
    autoindex            off;
    server_name             ~^([^.]+)\.corpix\.ru$;
    set                $subdomain $1;

    charset                utf-8;
    access_log            /var/log/nginx/corpix.ru/blog-access.log    main;
    error_log            /var/log/nginx/corpix.ru/blog-error.log;
    root                        /www/corpix.ru/pub/;

    rewrite                \.(js|ico|gif|jpg|png|css|flv)$         /$uri break;
    rewrite                ^                         /index.php$uri?blogName=$subdomain break;

    location ~ \.php {
        fastcgi_pass        unix:/var/run/php/php-fpm.sock;
        fastcgi_index        index.php;
        fastcgi_param        SCRIPT_FILENAME                    /www/corpix.ru/pub/index.php;
        include            fastcgi_params;
    }
}



13 августа 2009 г. 11:06 пользователь Igor Sysoev <is@xxxxxxxxxxxxx> написал:
On Thu, Aug 13, 2009 at 02:29:44AM +0400, Дмитрий - wrote:

> В GET параметр. ПРедполагаю, что вся проблема в том, что я хочу сохранить
> красивые урлы
> if (!-e $request_filename){
>                         rewrite (.*) /index.php/$1 last;
>                 }
>
> Завтра попробую это
> location ~ "\.(js|ico|gif|jpg|png|css)$" {
>                 root                    /www/corpix.ru/pub/;
> }
>
>
>  плюс ко всему ещё и первую часть поддомена переписать в какой-нибудь GET
> параметр.

То, что оно должно переписываться в параметры, понятно. Я хотел услышать
как именно на примере, что-то вроде:

 aaa.corpix.ru/bbb      >   corpix.ru/index.php/bbb/blogName=aaa
 aaa.corpix.ru/ссс.jpg  >   corpix.ru/index.php/ccc.jpg/blogName=aaa

Потому что из приведённых конструкций не до конца понятно, что именно нужно:
например, зачем "if (!-e $request_filename)" и как он связан с blogName.

> 12 августа 2009 г. 21:34 пользователь Igor Sysoev <is@xxxxxxxxxxxxx>написал:
>
> > On Wed, Aug 12, 2009 at 08:13:23PM +0400, Дмитрий - wrote:
> >
> > > Здравствуйте. Я использую фреймворк Yii(http://yiiframework.com) и хочу
> > > сделать реврайт для поддоменов как на livejournal например.
> > > Искал как это реализовать...ничего толком из этого не вынес...сделал
> > такой
> > > конфиг
> > > ...
> > > servername corpix.ru *.corpix.ru
> > > # это чтобы скрыть index.php в адресной строке
> > >                 if (!-e $request_filename){
> > >                         rewrite (.*) /index.php/$1 last;
> > >                 }
> > >
> > >                 if ($host ~* "^(([a-z0-9_\-]+)\.corpix.ru)$") {
> > >                         set $uid $2;
> > >                         rewrite ^(.*)$ /$1?blogName=$uid last;
> > >                 }
> > >
> > > blogName пуст. У меня есть очень сильное ощущение, что я что-то делаю не
> > > так, но плясать вокруг этого кусочка конфига за сегодняшний день
> > > устал...подскажите пожалуста как реализовать.
> > > Спасибо.
> >
> > А что нужно-то сделать ? Во что должны быть переписан запросы
> >
> >   aaa.corpix.ru/bbb
> >   aaa.corpix.ru/ссс.jpg
> >
> > ?
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> >

--
Игорь Сысоев
http://sysoev.ru




 




Copyright © Lexa Software, 1996-2009.