Server: Debian with apache2

var/www: project -> /samba/project/

samba/project: index.php .htaccess test.php


Options +FollowSymLinks
RewriteEngine On
RewriteBase /project/

RewriteCond %{REQUEST_URI} !index.php.*
RewriteRule ^(.*)$ index.php [L]

localhost/ -> it really works

localhost/index.php -> it really works

localhost/test.php -> it really works (redirect to index.php works)

http://localhost/asdsads -> does not work (error 403)



Try altering your latter lines to

RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^ index.php [L]

The very first line inspections when the asked for URL doesn't map to some physical file, and also the second line rewrites every request (which has a newbie, denoted by ^) to index.php.