.htaccess ile çözüm bulabilirseniz görmek isterim.

Dediğiniz olay şu şekilde çözülebilir aynı kodla;
<?
$sayfa = $_SERVER['REQUEST_URI'];
if(strstr($sayfa,'.php') || strstr($sayfa,'/?')) {
    echo 'Bu sayfaya erişim izniniz yok.';
    //veya header('Location: index.php');
    exit;
}
?>