Najbezpieczniejszą opcją jest aby katalog z plikami leżał w drzewie o jeden stopień płycej niż htdocs. Wtedy nie dając userom bezpośredniego URL do plików mało, że możesz kontrolować 100% ich pobieranie to na dokładkę masz z głowy wszystkie skrypty.
Nie ma róży bez kolców - musisz napisać odpowiednio skrypt do downloadu.
p.s. Jeśli już zabezpieczasz htaccesem to nie rób dziwnych kombinacji jak wyłączanie cgi a następnie aktywowanie handlera cgi dla odpowiednich plików.
Może to spowodować w najlepszym wypadku HTTP/500 a w najgorszym aktywowanie cgi-exec (bo opcja addhandler może nadpisac -Exec* w niektórych konfiguracjach) co spowoduje wykonanie kodu.
Bezpieczniej jest dać je w odwrotnej kolejności chociaż to też nie daje 100% pewności.
Najlepsze byłoby serwowanie plików z osobnej subdomeny będącej vhostem nie posiadającym żadnego interpretera (czy to php czy cgi).
Możesz też użyć tricku służącego mi zanim nauczyłem się sposobu z drzewem lub z vhostem:
Kod
AddType text/html .php