Lo puedes hacer de esta forma
Código Apache:
Ver originalRewriteEngine On
RewriteRule (.*)/ $1.php [L,QSA]
Pero es forzoso escribir siempre el último / en las direcciones para que funcione. Otra forma de hacerlo es enviando la url a una página que tengas y hacer un include o require de esa página. De esta forma lo puedes hacer
.htaccess
Código Apache:
Ver originalRewriteEngine On
RewriteRule (.*) redirect.php?url=$1 [L,QSA]
redirect.php
Código PHP:
Ver original<?php
$fileExt = is_dir($_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['url']) ?
'' : '.php'; if(file_exists($_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['url'] . $fileExt)){ require_once $_SERVER['DOCUMENT_ROOT'] . '/' . $_GET['url'] . $fileExt;
}
De esta forma no es forzoso incluir en la dirección el / al final. Tu escoges como quieres hacerlo. Si usas la última te recomiendo que uses addslashes y verifiques lo que te enviaron, para evitar inyecciones y cosas por el estilo.