What I want is,
/ => controllers/home/index.php
controller_name/ => controllers/controller_name/index.php
controller_name/action_name => controllers/controller_name/action_name.php
controller_name/action_name/anything/might/go/here/100/200 => controllers/controller_name/action_name.php?q=anything/might/go/here/100/200
And that anything that resolves to a non-existent controller or action should reach controllers/home/index.php
.htaccess
---------
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRUle ^/?$ controllers/home/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/?$ controllers/$1/index.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/\.]+)/([^/\.]+)/?(.*)/?$ controllers/$1/$2.php?q=$3 [L,QSA]