В обычном браузере вы также получаете ошибку 403. Причина отображения веб-сайта заключается в следующем:
Обычная проверка подлинности всегда возвращает ошибку 403. На большинстве серверов глобальное правило для ErrorDocument 403 определено как 403.html. Если возникает ошибка 403, сервер внутренне будет искать документ с ошибкой 403.html. Этот документ не существует, и ваш RewriteRule совпадает, и сервер возвращает обработанную страницу index.php. Вот почему вы видите веб-страницу, даже если она вернула ошибку 403. Еще сложнее, поскольку сайт 403.html не существует, 404 (страница не найдена) запускается при поиске сайта 403.html. Это проблема с глобально определенными ErrorDocuments. Ошибка 500 вызовет ошибку 404, поскольку определено значение 500.html.
Попробуйте определить вашу единственную обработку ErrorDocument в вашем .htaccess, и вы увидите разницу.
ErrorDocument 403 "Access denied"
Это правило напечатает сообщение об ошибке, если ошибка 403 сработает, и остановит рендеринг index.php