.htaccess Reescreva .php para ‘pasta virtual’

Possível Duplicado:
remova a extensão .php com .htaccess

eu tenho

http://www.example.com/test/categoryform.php 

No meu arquivo .htaccess, como eu reescrevo isso para exibir como:

 http://www.example.com/test/categoryform/ 

tente este código

 RewriteEngine On # turn on the mod_rewrite engine RewriteCond %{REQUEST_FILENAME}.php -f # IF the request filename with .php extension is a file which exists RewriteCond %{REQUEST_URI} !/$ # AND the request is not for a directory RewriteRule (.*) $1\.php [L] # redirect to the php script with the requested filename 

e Como ocultar a extensão .php na pergunta .htaccess também é útil

Para remover a barra diagonal, você precisa combiná-la em uma condição

 RewriteEngine On # make sure it's not a directory or a file RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # match out the request URI without the trailing slash RewriteCond %{REQUEST_URI} ^/([^/]+?)/?$ # and see if it exists RewriteCond %{DOCUMENT_ROOT}/%1.php -f RewriteRule ^(.+?)/?$ /$1.php [L] 

Mas para que ele seja exibido (como em, ele aparece na barra de endereço do navegador, você precisa:

 RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /(.+?)\.php RewriteRule ^(.+?)\.php$ /$1/ [L,R=301] 

Pergunta fácil perguntada mil vezes

 RewriteEngine on RewriteBase /test/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 

Fonte: Removendo a extensão do arquivo via .htaccess