У меня есть сайт в PHP, и я пытаюсь скрыть расширение.  Я нашел пару вещей через Google, но все они кажутся слишком сложными или они перенаправляют index на index.php : например, если вы пишете name.com/contact оно перейдет на name.com/contact.php .  Я не хочу этого, я просто хочу: 
  www.name.com/es/index.php to be www.name.com/es/inicio www.name.com/es/empresa.php to be www.name.com/es/empresa www.name.com/es/productos.php to be www.name.com/es/productos www.name.com/es/clientes.php to be www.name.com/es/clientes www.name.com/es/recetas.php to be www.name.com/es/recetas www.name.com/es/contacto.php to be www.name.com/es/contacto www.name.com/en/index.php to be www.name.com/en/home www.name.com/en/company.php to be www.name.com/en/company www.name.com/en/products.php to be www.name.com/en/products www.name.com/en/clients.php to be www.name.com/en/clients www.name.com/en/recepis.php to be www.name.com/en/recepis www.name.com/en/contact.php to be www.name.com/en/contact 
  папка /en/ – английская версия, а папка /es/ – испанская версия 
Также ссылки внутри веб-сайта также будут без расширения.
  Например, образ, связанный с clientes , будет clientes а не clientes.php и если кто-то попытается перейти на /page.php , он все равно работает, но перенаправляет его на /page . 
Файл htacces должен выглядеть так:
 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php 
  Вы перенаправляете любой php-файл в URL-адрес с таким же именем с помощью «php». 
  Затем в ваших php-файлах вы можете проверить, содержит ли url расширение (http://blabla.com/bla .php ) и перенаправляет страницу на тот же самый с расширением. 
  Итак, в начале каждого php-файла вы должны вызвать эту функцию: 
 function redirectIfNeeded(){ $url = $_SERVER["REQUEST_URI"]; if(preg_match("/\.php/$", $url)) header("Location: ".preg_replace("/\.php/",$url)); } 
Пожалуйста, вставьте файл .htaccess в корневой каталог, используйте этот код!
 Options +FollowSymlinks RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.+)$ /$1.php [L,QSA] 
Надежда !! это было бы полезно для кого-то!
 RewriteEngine on Rewritecond %{REQUEST_URI} !-f Rewritecond %{REQUEST_URI} !-d Rewritecond %{REQUEST_URI} !-l RewriteRule ^([\w\d-]+)$ $1.php [L] RewriteRule ^([^/.]+)$ $1.php [L]