Forum Moderators: phranque
One of the possible solutions is to use a RewriteRule [httpd.apache.org] with no substitution string and specifying the Forbidden flag with the combination of a RewriteCond [httpd.apache.org] which should evaluate true only if the requested page is not the index.php file (which you can achieve by preceding the regex pattern with an exclamation mark).
Welcome to WebmasterWorld [webmasterworld.com]!
Using mod_rewrite in .htaccess:
RewriteRule !^index\.php$ - [F]
Jim