Re: rewrite на подлокации
Igor Sysoev
igor на sysoev.ru
Вт Авг 30 09:47:50 UTC 2011
On Tue, Aug 30, 2011 at 07:23:25PM +1100, Victor Kharchenko wrote:
> Поробовал сделать так, ругается на неизвестную переменную id:
Я ошибся: вместо "<?id>" и "<?name>" нужно "?<id>" и "?<name>".
> location /files/ {
>
> location ~ ^/files/download/(<?id>[^/]+)/(<?name>.*)\.html$ {
> proxy_set_header REAL_REMOTE_ADDR $remote_addr;
> proxy_set_header Host $host;
> proxy_pass_header Set-Cookie;
> proxy_pass http://127.0.0.1:8080/download.php?ID=$id&code=$code;
> }
>
> location ~ ^/files/delete/(<?id>[^/]+)/(<?code>.*)$ {
> proxy_set_header REAL_REMOTE_ADDR $remote_addr;
> proxy_set_header Host $host;
> proxy_pass_header Set-Cookie;
set не нужен:
> set $query ID=$id&code=$code;
> proxy_pass http://127.0.0.1:8080/delete.php?ID=$id&code=$code;
> }
>
> return 404;
> }
>
> 30 августа 2011 г. 16:08 пользователь Igor Sysoev <igor at sysoev.ru> написал:
>
> > On Tue, Aug 30, 2011 at 11:24:54AM +1100, Victor Kharchenko wrote:
> > > Поставил nginx в качестве фронэнда, перенастраиваю правила редиректа и не
> > > могу разобраться
> > > было так:
> > >
> > > RewriteEngine On
> > > RewriteRule files/download/([^/]+)/(.*).html /download.php?ID=$1&name=$2
> > [L]
> > > RewriteRule files/delete/([^/]+)/(.*) /delete.php?ID=$1&code=$2 [L]
> > > сделал так:
> > > location /files/ {
> > > rewrite ^/files/download/([^/]+)/(.*)\.html$
> > > /download.php?ID=$1&name=$2 break;
> > > rewrite ^/files/delete/([^/]+)/(.*)$ /delete.php?ID=$1&code=$2
> > > break;
> > > }
> > > Но не заработало.
> >
> > Вместо "break" поставить "last". А ещё лучше вместо rewrite описать,
> > что нужно делать, например, ходить в FastCGI:
> >
> > locaiton /files/ {
> >
> > location ~ ^/files/download/(<?ID>[^/]+)/(<?NAME>.*)\.html$ {
> > fastcgi_pass ...
> > fastcgi_param SCRIPT_FILENAME /path/to/download.php;
> > fastcgi_param QUERY_STRING ID=$id&name=$name;
> > ...
> > }
> >
> > location ~ ^/files/delete/(<?ID>[^/]+)/(<?NAME>.*)\.html$ {
> > fastcgi_pass ...
> > fastcgi_param SCRIPT_FILENAME /path/to/delete.php;
> > fastcgi_param QUERY_STRING ID=$id&name=$name;
> > ...
> > }
> >
> > return 404;
> > }
> >
> >
> > --
> > Игорь Сысоев
> > http://sysoev.ru
> >
> > _______________________________________________
> > nginx-ru mailing list
> > nginx-ru at nginx.org
> > http://mailman.nginx.org/mailman/listinfo/nginx-ru
> >
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
--
Igor Sysoev
Подробная информация о списке рассылки nginx-ru