Re: Проблема с преобразованием apache rewrite

Andrew Kopeyko kaa на zvuki.ru
Чт Фев 4 18:05:37 MSK 2010


unclead wrote:
> Доброго времени суток!
> 
> Пытаюсь преобразовать составной rewrite apache в куцкшte nginx
> 
> apache
>                 RewriteCond %{REQUEST_URI}        ^/freehentai/free/.*
>                 RewriteCond %{HTTP_HOST}             !(freemtsua.hentaimobile.ru|freejeansua.hentaimobile.ru)
>                 RewriteCond %{REMOTE_ADDR}     194.0.120.198
>                 RewriteRule   ^(.+)$ http://free.hentaimobile.ru/freehentai/wapmtsonly  
> 
> Нашел в Интернете, что можно попробовать следующим образом
> 
>         location ~ /freehentai/(free)/(.*)$ {
> 
>                 if ($http_host !~ "(freemtsua.hentaimobile.ru|freejeansua.hentaimobile.ru)"){
>                 break;
>                 }

Евгений,

if() внутри location чреват непредсказуемыми сюрпризами, не стоит так 
делать.

В вашем случае надо сделать ещё 1 виртуальный сервер :

server {
   listen <somewhere>;
   server_name freemtsua.hentaimobile.ru freejeansua.hentaimobile.ru;
   location ~ /freehentai/(free)/(.*)$ {
     rewrite  .*  http://free.hentaimobile.ru/freehentai/wapmtsonly
   }
}

>                 if ($remote_addr = "194.0.120.198"){
>                 rewrite ^(.*)$ http://test.free.hentaimobile.ru/freehentai/wapmtsonly last;
>                 break;
>                 }
>         }
> 
> но редирект не срабатывает.

Включите debug лог, и смотрите что происходит при обработке запроса.


-- 
Best regards,
Andrew A. Kopeyko <kaa at zvuki.ru>
http://www.zvuki.ru/



Подробная информация о списке рассылки nginx-ru