November 19, 2021 12:39AM
Добрый день

У сайта есть Публичка и Админка на одном домене
/ - публичка
/admin/ - админка

Вот это правило apache2 прекрасно работает для админки, но на nginx никак не получается это сделать
Тут все запросы кроме статики проходят через /admin/index.php в котором проверяются авторизация и все такое
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^admin/(.*)$ admin/index.php?_route_=/$1 [L,QSA]

Пример, я открываю php-файл по адресу
/admin/test/1.php

На апаче этот запрос как-то проходит через /admin/index.php в котором я проверяю авторизацию и все такое и если пользователь не авторизован при открытии любого php-файла в админке увидит форму входа

На nginx это не работает и php-файл открывается напрямую, просто как отдельный файл

Все возможные примеры в гугле не работают, вот мой пример, он тоже не выполняет данную задачу.

#location / {
# try_files $uri $uri/ @frontend;
#}

location !/admin {
try_files $uri $uri/ @frontend;
}

location /admin {
try_files $uri $uri/ @backend;
}

location ~ \.php$ {
try_files $uri @frontend @backend;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass $php_sock;
}

location @frontend {
rewrite ^/(.*)$ /index.php?_route_=$1? last;
}

location @backend {
rewrite ^/admin/(.*)$ /admin/index.php?_route_=/$1? last;
}

Как заставить nginx обрабатывать все запросы (php-файлы) кроме статики через /admin/index.php?
Subject Author Posted

Все запросы через index.php

nginxwolf November 19, 2021 12:39AM

Re: Все запросы через index.php

nginxwolf November 19, 2021 01:35AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 270
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready