padonnak
@padonnak

NGINX пост запросы не работают после слеша как исправить?

Допустим сайт: site.com/
если оправлять запросы POST: site.com/test - то все хорошо работает
если сделать вот так: site.com/test/test 404 ошибка
Роутер на php Macaw причем на 1 сервере работает все нормально на другом нет
GET запросы все отрабатывают полностью

Все ссылки обрабатываются через index.php так как он подгружает роутер.

Система Debian 8 + NGINX + 1.10.3 + PHP-7.0-FMP + PERL
больше нет ничего

CONFIG NGINX cgi
scgi_param  REQUEST_METHOD     $request_method;
scgi_param  REQUEST_URI        $request_uri;
scgi_param  QUERY_STRING       $query_string;
scgi_param  CONTENT_TYPE       $content_type;

scgi_param  DOCUMENT_URI       $document_uri;
scgi_param  DOCUMENT_ROOT      $document_root;
scgi_param  SCGI               1;
scgi_param  SERVER_PROTOCOL    $server_protocol;
scgi_param  REQUEST_SCHEME     $scheme;
scgi_param  HTTPS              $https if_not_empty;

scgi_param  REMOTE_ADDR        $remote_addr;
scgi_param  REMOTE_PORT        $remote_port;
scgi_param  SERVER_PORT        $server_port;
scgi_param  SERVER_NAME        $server_name;



fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

fastcgi_param  SERVER_NAME        $server_name;
fastcgi_param  REDIRECT_STATUS    200;


NGINX SERVER CONFIG:
set $root_path /var/www/public/site.ru;
	root /var/www/public/site.ru;
	index index.php;

	location / {
		 alias /var/www/public/site.ru;
 			try_files $uri @method;
			}

	location @method{
	fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	fastcgi_index  index.php;
	include /etc/nginx/fastcgi_params;	
	fastcgi_param  SCRIPT_FILENAME $document_root/index.php;
	

	}
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
@BorisKorobkov Куратор тега PHP
Web developer
Nginx перенаправляет запрос /test/test на index.php
А уж почему index.php возвращает 404 - это совсем другой вопрос.

P.S. Можно выкинуть избыточные set $root_path, alias
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы