Apache 2.4 требует, чтобы все отрицали, что не работают с RewriteRule - PullRequest
0 голосов
/ 05 октября 2018

У меня странная проблема с момента обновления до 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?

...