LINUX.ORG.RU

Подскажите, в конфигурации чего на Web сервере может быть проблема неправильного 301 перенаправления

 , , ,


0

1

Здравствуйте, подскажите пожалуйста, в чем может быть проблема неправильного перенаправления на своем Web сервере работающем на Nginx 1.22.1 + Php-Fm 8.2 (Server API: FPM/FastCGI) А на хостинге работающем на: nginх + apache + fastCCGI (Server API: CGI/FastCGI) работает все нормально

В чем конкретно проблема: Например, в панели управления администратором (именно там эта проблема возникает) при нажатии на кнопку «Сохранить» или «Редактировать» осуществляется POST запрос по кнопку Submit, пользователь должен оставаться на этой же странице, но его перекидывает на главную страницу сайта с параметрами, идущими после знака вопроса в адресной строке.

То есть, например, я нахожусь в панели администратора по адресу

https://site.ru/admin/index.php?controller=settings

Редактирую какую-то информацию в полях и нажимаю кнопку «Сохранить» я должен остаться на этой же странице

https://site.ru/admin/index.php?controller=settings

Так и происходит, если сервер нормально настроен, то есть это нормально работает на хостинге: nginх + apache + fastCCGI (Server API: CGI/FastCGI)

Я установил Web сервер на свой компьютер, у меня работает Nginx 1.22.1 + Php-Fm 8.2 (Server API: FPM/FastCGI)

И я скопировав сайт на свой вебсервер, ну и конечно же настроив конфигурационный файл nginx по советам разработчиков этого движка сайта (хотя может они и неправильно советы давали) получил проблему с неправильным редиректом на главную страницу сайта с параметрами которые были в адресной строке, которые были у меня в панели администратора.

То есть при нажатии на кнопку «Редактировать» или «Сохранить происходит перенаправление с адреса:

https://site.ru/admin/index.php?controller=settings

на

https://site.ru/?controller=settings

В конфигурационрный Nginx файл, отвечающий за каталог /admin добавлен только этот код, ну и часть кода относящаяся к настройке FastCGI:

Код:

location = / {
      try_files $uri /index.php?$args;

   }

location = /admin/ {
try_files $uri /admin/index.php?$args;
}

location ~ \.php$ {
   include snippets/fastcgi-php.conf;
   fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
	
 include fastcgi_params;
 fastcgi_param DOCUMENT_ROOT /var/www/site.ru/;
 fastcgi_param SCRIPT_FILENAME /var/www/site.ru$fastcgi_script_name;
 fastcgi_param PATH_TRANSLATED /var/www/site.ru$fastcgi_script_name;
 fastcgi_param QUERY_STRING $query_string;
 fastcgi_param REQUEST_METHOD $request_method;
 fastcgi_param CONTENT_TYPE $content_type;
 fastcgi_param CONTENT_LENGTH $content_length;
 fastcgi_param HTTPS on; 
 fastcgi_intercept_errors on;	
 

    }

Но либо эта инструкция работает неправильно, либо вообще что-то неправильно указано в настройках Php Подскажите в чем может быть проблема, Может кто то с таким сталкивался?

Ошибок в логах (Сделал логирование POST и логирование правил Rewrite) Nginx никаких нет

Вот прикрепил скриншот из панели разработчика Веб Браузера, в которой видна разница перенаправления работающего на нормально настроенном севере и на моём.

Нормально работающий сайт (при нажатии на кнопку сохранить пользователь остается на той же странице)

Файл с Post запросом: https://ibb.co/dbLQJkT Заголовки POST запроса: https://ibb.co/HH2hw4r

Файл с Get запросом: https://ibb.co/0YCxDY9 Заголовки Get запроса: https://ibb.co/QDwyZVg

Хреново работащий сайт (при нажатии на кнопку происходит перенаправление на главную страницу)

Файл с Post запросом https://ibb.co/Np1hrbh И заголовки POST запроса: https://ibb.co/rx8hJsy

Файл с Get запросом https://ibb.co/9py90Zf И Заголовки с Get запросом https://ibb.co/P5bQryq

Проблема врядли в самих скриптах сайта, здесь что то не так с настройками Nginx либо PHP Или все таки лучше поставить ещё Apache на сервер?