使用.htaccess将所有请求重定向到index.php

I am writing my own PHP MVC framework. My web server is installed to /public and i made a directory named myframework. under this directory i have some sub directory and i want to redirect all requests to myframework/public/index.php and also i want to have request url. I made .htaccess file under myframework directory like below:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /myframework/public/index.php?q=$1 [L,QSA]

It works for all requests but localhost/myframework/. It does nothing when this request is coming. How can i fix it?

This line

RewriteCond %{REQUEST_FILENAME} !-d

says not to rewrite when the request points to a real directory, which is what localhost/myframework/ is requesting. Take it out and your rewrite should kick in.