I am looking to get my .htaccess to redirect all demands towards the /blogs directory, aside from demands that begin with /staff. This is exactly what I've to date:

RewriteEngine On
RewriteRule ^staff(.*)$ staff/$1 [L]
RewriteRule ^(.*)$ blogs/$1 [L]

It really works acceptable for every situation, except after i do http://mydomain.com/staff or http://mydomain.com/staff/alice by which situation I recieve a 500 Internal Error.

What shall we be held doing wrong?

Do this:

RewriteRule ^staff/  - [L]
RewriteRule !^blogs/ blogs%{REQUEST_URI} [L]

What's drenched to error.log? The mistake might be originating from either mod_rewrite or out of your application itself.