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

Igor Sysoev is at rambler-co.ru
Wed Aug 12 23:59:48 MSD 2009


On Wed, Aug 12, 2009 at 09:55:16PM +0300, Вадим Мисирук wrote:

> 12 августа 2009 г. 19:13 пользователь Дмитрий - <i.am.corpix at gmail.com>написал:
> 
> > Здравствуйте. Я использую фреймворк 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 пуст. У меня есть очень сильное ощущение, что я что-то делаю не
> > так, но плясать вокруг этого кусочка конфига за сегодняшний день
> > устал...подскажите пожалуста как реализовать.
> > Спасибо.
> 
> 
> мой вариант
> server {
>     listen      80;
>     server_name *.servername.net;
> 
>     # правила преобразования урлов
>     if ($host ~* "^([^.]+)\.servername.net$"){
>         set $dom $1;
>         rewrite ^(.*)$ $1?workplace=$dom break;
>     }
> 
>     location / {
>         proxy_pass        http://servername.net;
> #       proxy_set_header  Host       $host;
>         proxy_set_header  X-Real-IP  $remote_addr;
>     }
> }
> 
> пока сделал с проксированием, но полет нормальный

 server {
     listen      80;
     server_name ~^([^.]+)\.servername.net$;

     set       $dom  $1;
     rewrite   ^     $uri?workplace=$dom break;


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





More information about the nginx-ru mailing list