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

Проблема со строкой запроса с php-fpm и nginx

Я пытаюсь запустить приложение PHP с помощью Nginx. Перезапись URL-адресов работает правильно, однако строки запроса не передаются в файлы PHP. Я что-то делаю не так в приведенной ниже конфигурации? Буду признателен за любую помощь!

nginx-site.conf:

server {
    root    /var/www/html;

    include /etc/nginx/default.d/.conf;

    index index.php index.html index.htm;

    client_max_body_size 30m;

    server_tokens  off;

    location / {
        index index.html index.htm index.php;
        try_files $uri $uri/ @extensionless-php;
    }

    location ~* .(?:ico|css|js|gif|jpe?g|png|svg|woff)$ {
        expires 30d;
        add_header Pragma public;
        add_header Cache-Control "public";
    }

    location ~ \.php$ {
        fastcgi_param HTTP_PROXY "";
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        include fastcgi.conf;
    }
    
    location @extensionless-php {
        if ( -f $document_root$uri.php ) {
            rewrite ^ $uri.php last;
        }
        fastcgi_pass 127.0.0.1:9000;
        include fastcgi.conf;
    }

    location ~* /includes/(.+)\.php$ {
        deny all;
    }
}

Вместо того:

location / {
    index index.html index.htm index.php;
    try_files $uri $uri/ @extensionless-php;
}

Я хотел бы использовать:

location / {
    index index.html index.htm index.php;
    try_files $uri $uri.php =404;
}

Если аргументы запроса не работают с этим, попробуйте:

try_files $uri $uri.php$is_args$args =404;

В location @extensionless-php также следует удалить.

Собственно, это была моя ошибка. Я увидел, что мое решение уже работает должным образом. Вся строка запроса успешно передана.