У меня странная проблема с момента обновления до Apache 2.4.Похоже, что RewriteRule переопределяет части команды deny all файла .htaccess.
Require all denied
RewriteEngine on
RewriteRule ^index\.php\/(.*) /$1 [R=301,QSA,L]
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# otherwise forward it to index.php
RewriteRule . index.php
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Что происходит, если любые отдельные файлы, такие как /robots.txt или /favicon.ico, получают соответствующую ошибку 403.Однако при попытке отобразить часть веб-сайта, такую как / site / login, он фактически пропускает браузер, а сервер выполняет index.php и отображает форму входа (хотя без JS или CSS, поскольку все эти ресурсы имеют значение 403)
Я здесь не эксперт, но похоже, что часть «Требовать все отказано» должна завершить выполнение.Почему все еще разрешено выполнение index.php?