Reescreva a regra no nginx

1

Estou movendo um aplicativo PHP do Apache para o Nginx, usando o php-fpm. Estou quase terminando, exceto por uma diretiva de reescrita que não consegui fazer no Nginx. O seguinte é o trecho da configuração do Apache que eu preciso portar:

# Handle alianza.quehambre.cl
RewriteCond %{HTTP_HOST} ^alianza\.quehambre\.cl [NC]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-l
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(api|get)/(.*)
RewriteRule ^(.*)$ /index.php/get/$1 [L,QSA]

A configuração completa do Nginx está em esta essência , incluindo minha tentativa atual de não-trabalho de escrever as regras acima.

    
por Andres 22.07.2013 / 19:46

2 respostas

2

Isso deve funcionar:

server {
    server_name alianza.quehambre.cl;

    location / {

        location ~ ^/(api|get)/(.*) {
            # Whatever should happen at this point...
        }

        try_files $uri /index.php/get/$request_uri =404;
    }
}
    
por 22.07.2013 / 20:25
0

Tente este:

    location ~ (api|get)/(.*) {
    }

    location / {
      if ($http_host ~* "^alianza\.quehambre\.cl"){
        rewrite ^(.*)$ /index.php/get/$1 break;
      }
    }
    
por 05.08.2013 / 22:29