Make sure that mod_rewrite is in fact enabled on your server.
First place to check is httpd.conf and look for a line similar to this: LoadModule rewrite_module modules/mod_rewrite.so
If it is commented out, you will need to uncomment it and restart Apache/httpd
And instead of arbitrarily enabling mod_rewrite via htaccess if that is what you are doing, it is best to at least use a module check if/then construct to avoid the 500 error ie: <IfModule mod_rewrite.c> RewriteEngine on ...your rewrite stuff here... </IfModule>
That way if you try a rewrite rule and the resultant URL, if mod_rewrite isn't enabled, you'll just get a 404 "Not Found" instead of a 500 error.
The easiest way to track down a 500 server error is to look in your error_log file which is probably located in /var/log/httpd/. There is a 99% chance you'll find a decent English language description in that file telling you where the server encountered an error.