Здравствуйте, возникла проблема с доступом к админ панели. В данный момент, чтобы попасть в АП нужно иметь в БД роль админа (выполняется проверка и все норм). Но сейчас нужно сделать так, чтобы в АП можно было пройти только через apache авторизацию по паролю.
В корневой папке существует .htaccess с таким кодом:
AddDefaultCharset utf-8
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php
Сам же корневой index.php имеет такой код:
<?php
// FRONT CONTROLLER
ini_set('display_errors',1);
error_reporting(E_ALL);
session_start();
// Подключение файла
define('ROOT', dirname(__FILE__));
// Автозагрузка классов
require_once(ROOT.'/components/Autoload.php');
// Роутер
$router = new Router();
$router->run();
Ну в роутере и создаются все пути. И из-за этого вышеприведенный .htaccess распространяется на все папки. Я пыталась создать второй .htaccess с таким кодом:
AddDefaultCharset utf-8
AuthType Basic
AuthName "Admin Panel"
AuthUserFile C:\Open\OSPanel\domains\web\views\admin\.htpasswd
Require valid-user
RewriteRule ^(.*)$ index.php
в папке в view/admin.
Но, он не работает.
Есть мысль, в роутере сделать проверку, если встретится URL /admin создать этот .htaccess файл, который бы блокировал доступ. Но не знаю как это реализовать.
Или где должен лежать .htaccess файл, чтобы при переходе на /admin был закрыт доступ всем?