Re: rewrite на подлокации
Igor Sysoev
igor на sysoev.ru
Вт Авг 30 05:08:41 UTC 2011
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