As usually, something like this makes me confused. 500 Internal Server Error is a generic error message, given when no more specific message is suitable. Internal server errors can be caused by a few different things.
After I searched on internet, I founded a post in a forum that help me so much. And the problem SOLVED. Alhamdulillah.
As you are on virtual host you have to tell the server which is your base or rewriting.
I just forget to add
RewriteBase /
after RewriteEngine on
. Actually, I don't know about this :P Hahaha.
This is my old htaccess file.
And this is my new htaccess code: Do you have same problem? Hopefully it can be helpful for you. :D