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

Дмитрий - i.am.corpix at gmail.com
Fri Aug 14 04:14:49 MSD 2009


Да, адреса должны переписываться в нечто на подобие этого:
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 at rambler-co.ru>написал:

> 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 at rambler-co.ru
> >написал:
> >
> > > 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090814/f2b9db89/attachment.html>


More information about the nginx-ru mailing list