Como deixar a estrutura de classes e funções disponível apenas para include no PHP usando Apache

A ideia aqui é desenvolver uma arquitetura de diretórios onde teremos apenas o template do nosso sistema disponível na internet.
De forma mais prática temos:

ROOT
+
|---+/core
!---+/admin
+---+/public_html -> arquivo de nosso template

Para colocar a arquitetura de diretórios acima em prática devemos criar um Rewrite no Apache, então teremos:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteRule ^(.*)$ public/$1 [L]
</IfModule>