i don't know yet what the "FollowSymLinks" does but the rest does that:
RewriteEngine On <-- activates mod rewrite
RewriteCond %{REQUEST_FILENAME} !-d <-- condition that says: request filename is not directory
RewriteCond %{REQUEST_FILENAME}\.php -f <-- condition that says: request filename with the appendix .php is a file
RewriteRule ^(.*)$ $1.php <-- take anything you get and put a .php behind it
to tell it in human words:
if the requested filename is not a directory and if you append .php to that filename and it is an existing file then do the rewrite rule which appends .php to the requested file
this works on my XAMPP:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>