Я перемещаю приложение 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;
}
}