Вам необходимо добавить флаг PT в ваше RewriteRule:
RewriteCond %{REQUEST_URI} !\.php$ [NC]
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule . %{REQUEST_URI}.php [PT]
Причина в том, что подстановка в RewriteRule обычно считается путем к файлу, а не uri, и поэтому такие директивы, как Redirect и т. д., не применяются. Флаг PT
(проход) указывает apache рассматривать правила перезаписи как uri и продолжать применять правила отображения uri.