Why would you want to do that? If you don't provide an explicit script to run, it will automatically run the index.php. If it does not have an index (php, html, etc in order specified by the directives), but does have options +indexes, you'll get an indexed view. Without the option +indexes, and still no index script, than instead you get a 404.
Or are you intending it to go from /directory to index.php?q=directory? If that's the case, that's doable, and should actually match the code you have. The only potential block is if /directory/ actually exists, in which case it won't follow the rewrite directive since one of the conditions is that its not a directory.
header('HTTP/1.1 420 Enhance Your Calm');