Попробуйте:
RewriteEngine on
RewriteCond %{THE_REQUEST} \s/+(.*)\.php(.*)\sHTTP.*$ [NC]
RewriteRule ^ /%1%2 [R=302,L,NE]
RewriteCond %{REQUEST_URI} !\.php
RewriteRule ^([^\/]*)/([^\/]*)$ $1.php/$2 [L]
Вторая и третья строки удаляют расширение php
извне.Четвертое и пятое, чтобы перенаправить запрос на исходный путь изнутри.
Очистить кеш браузера и проверить, если все в порядке, измените R=302
на R=301
, чтобы иметь постоянное перенаправление.