Я пока не знаю, что делает "FollowSymLinks", но остальное делает:
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
сказать это человеческими словами:
если запрашиваемое имя файла не является каталогом и если вы добавляете .php к этому имени файла, и это уже существующий файл, выполните правило перезаписи, которое добавляет .php к запрашиваемому файлу
это работает на моем 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>