Per configurare APACHE in modo da impedire la lettura via web di tutte le estensioni diverse da php e html, basta andare nel file di configurazione e impostare un espressione regolare
<Directory "/home/sitename/public_html">
#Impediamo la lettura di tutti i file
<FilesMatch "\.(.*)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# Autorizziamo la lettura dei file html, htm e php
<FilesMatch "\.(html|htm|php)$">
Order Allow,Deny
Allow from all
</FilesMatch>
AllowOverride None
# Allow open access:
Require all granted
</Directory>
Invece se volessiomo ad esempio impedire la lettura dei file di log basterebbe
<Directory "/home/sitename/public_html">
#Impedire la lettura del file di log e txt
<FilesMatch \.(log|txt)>
Order Allow,Deny
Deny from all
</FilesMatch>
AllowOverride None
# Allow open access:
Require all granted
</Directory>