Метод 1: использование RewriteRule
Директива RewriteRule в файле.htaccess позволяет нам перезаписывать URL-адреса. Чтобы удалить расширение.php, добавьте в файл.htaccess следующий код:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
Метод 2: использование перенаправления
Если вы хотите перенаправить пользователя с URL-адреса с расширением.php на тот же URL-адрес без расширения, вы можете использовать директиву Redirect. Добавьте следующий код в свой файл.htaccess:
RedirectMatch 301 ^/(.*).php$ /$1
Метод 3: использование MultiViews
Опция MultiViews позволяет Apache автоматически находить и обслуживать файлы без расширения файла. Чтобы включить MultiViews, добавьте в файл.htaccess следующую строку:
Options +MultiViews
Метод 4: использование ErrorDocument
Директиву ErrorDocument можно использовать для перезаписи URL-адресов без расширения.php. Добавьте следующий код в свой файл.htaccess:
ErrorDocument 404 /index.php
Метод 5: использование фронт-контроллера
Фронт-контроллер — это PHP-скрипт, который обрабатывает все запросы к вашему веб-сайту. Используя фронт-контроллер, вы можете иметь чистые URL-адреса без расширения.php. Вот пример базового фронт-контроллера:
<?php
// index.php
$request = $_SERVER['REQUEST_URI'];
if ($request === '/about') {
include 'about.php';
} elseif ($request === '/contact') {
include 'contact.php';
} else {
include '404.php';
}
?>