Desde luego es un tema únicamente de Apache, porque Apache es quien aplica mod_rewrite, tu script sólo recibe la petición re escrita.
Jamás ha sido un tema de PHP porque PHP no es el servidor, PHP no aplica mod_rewrite.
Cuando dices "accede al directorio" estás describiendo un comportamiento de Apache, ¿o tu programaste en PHP algo así?
Has una prueba simple, el mismo .htaccess y scripts sencillos de PHP, sin bootstraps ni routers.
¿Sucede lo mismo?
PDTA: por eso, una buena técnica para evitar esto es ubicar los directorios de tu aplicación fuera del DOCUMENT_ROOT, así jamás serán alcanzados por el servidor web.