Need help - rewrite from apache to nginx
Veaceslav Grecea
veaceslav.grecea на gmail.com
Вт Июл 20 20:14:56 MSD 2010
2010/7/19 Igor Sysoev <igor at sysoev.ru>
> On Sun, Jul 18, 2010 at 08:22:35PM +0300, Veaceslav Grecea wrote:
>
> > Здравствуйте.
> >
> > Есть вот такие реврайт правила:
> >
> > RewriteRule detail-property-results-([0-9]+).php$
> > /results_detail.php?pageindex=$1&lang=en
> > [NC,L]
> > RewriteRule detail-property-results.php$
> > /results_detail.php
> > [NC,L]
> > RewriteRule property/([0-9]+)/(.*).php$
> > property-detail-2?propertyid=$1&lang=$2
> > [R,L]
> > RewriteRule property-results-([0-9]+).php$
> > /results.php?pageindex=$1&lang=en
> > [NC,L]
> > RewriteRule property-results.php$
> > /results.php?lang=en [NC,L]
> >
> > Я уже день мучаюсь и никак не могу перенести их под локейшены nginx-а.
> > Хотя бы пример по первому правилу.
>
> Я бы сделал так (писать больше, зато сопровождать легче):
>
> location /detail-property-results {
>
> location = /detail-property-results.php {
> fastcgi_pass ...
> fastcgi_param SCRIPT_FILENAME /path/to/results_detail.php;
> fastcgi_param QUERY_STIRNG "";
> include fastcgi_params0;
> }
>
> location ~ ^/detail-property-results-([0-9]+)\.php$ {
> fastcgi_pass ...
> fastcgi_param SCRIPT_FILENAME /path/to/results_detail.php;
> fastcgi_param QUERY_STIRNG pageindex=$1&lang=en;
> include fastcgi_params0;
> }
>
> return 404;
> }
>
> location /property-results {
>
> location = /property-results.php {
> fastcgi_pass ...
> fastcgi_param SCRIPT_FILENAME /path/to/results.php;
> fastcgi_param QUERY_STIRNG lang=en;
> include fastcgi_params0;
> }
>
> location ~ ^/property-results-([0-9]+)\.php$ {
> fastcgi_pass ...
> fastcgi_param SCRIPT_FILENAME /path/to/results.php;
> fastcgi_param QUERY_STIRNG pageindex=$1&lang=en;
> include fastcgi_params0;
> }
>
> return 404;
> }
>
> location /property/ {
>
> location ~ ^/property/([0-9]+)/(.*)\.php$ {
> return http://$host/property-detail-2?propertyid=$1&lang=$2;
> }
>
> return 404;
> }
>
hg_04, Игорь, спасибо за помощь.
Действительно, решение Игоря очень красиво и элегантно. Мне все равно
сколько писать, главное чтобы было правильно и понятно сразу.
Но некоторые вещи не работают: этот location ~
^/property-results-([0-9]+)\.php$ по гет-у не передаёт значения и пагинатор
не работает в результате. Там ури примерно вот такое:
/category/properties/detail-property-results-2.php
Видимо не нужен ^. Или я не прав ?
Я попытаюсь пообщаться с программером насчет этого.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20100720/f55c9027/attachment-0001.html>
Подробная информация о списке рассылки nginx-ru