Назад | Перейти на главную страницу

Правило перезаписи в nginx

Я перемещаю приложение PHP с Apache на Nginx, используя php-fpm. Я почти закончил, за исключением директивы перезаписи, которую я не смог сделать в Nginx. Ниже приводится отрывок из конфигурации Apache, которую мне нужно перенести:

# 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]

Полная конфигурация Nginx находится в это суть, включая мою текущую нерабочую попытку написать вышеуказанные правила.

Это должно помочь:

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;
    }
}

Попробуй это:

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

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