Die Frage ist Berechtigt, sicher, allerdings ist .htaccess nur eine Lösung von drei.
1.) Außerhalb des Document-Root - Webserver liefert nicht mehr aus
2.) Endung .php - Webserver liefert Ausgabe der Datei aus, die sie nur Variablendefinition enthält gibt es keine Ausgabe - also wird nichts (leerer Text) ausgeliefert.
3.) .htaccess - Man kann mit speziellen Anweisungen in der .htaccess dem Webserver sagen das er die Datei bzw. Dateien in einem Verzeichnis nicht ausliefern soll. Alternativ könnte er beim Aufruf eienr bestimmten URL auf eine andere weiterleiten.
In allen drei Fällen ist nur der Abruf über den Webserver betroffen. Lokal ist die Datei normal verwendbar. Bei einem include() über http, bekommt PHP die gleichen Daten, welche auch ein Webbrowser bekommen würde, also die Ausgabe des PHP-Scriptes oder die Weiterleitung, da dies ein normaler Abruf über den Webserver ist.
Ein solches include() ist in 99,99999% der Fälle kompletter Unsinn und gefährlich - in den meisten Fällen läßt es sich direkt durch readfile() ersetzen, in anderen sollte man ein Datenaustauschformat (z.B. XML) verwenden.
---
Weaverslave