Отказ от расширения PHP: как переписать URL-адреса, чтобы они выглядели чище

Метод 1: использование.htaccess
Файл.htaccess — это мощный инструмент для настройки веб-серверов. Чтобы исключить расширение PHP с помощью.htaccess, добавьте в файл следующий фрагмент кода:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

Объяснение: Этот фрагмент кода включает RewriteEngine, проверяет, не является ли запрошенный URL-адрес каталогом, а затем проверяет, существует ли соответствующий файл PHP. Если оба условия соблюдены, URL-адрес перезаписывается, включая расширение PHP.

Метод 2: маршрутизация с помощью фреймворка
Если вы используете фреймворк PHP, такой как Laravel или Symfony, перезапись URL-адресов может быть достигнута посредством настройки маршрутизации. Обычно вы определяете маршруты в файле маршрутов или непосредственно в коде вашего приложения. Вот пример использования системы маршрутизации Laravel:

Route::get('/users', 'UserController@index')->name('users');

Объяснение: В этом примере маршрут /usersсопоставляется с методом indexв классе UserController. При такой настройке вы можете получить доступ к странице пользователя без явного включения расширения PHP в URL-адрес.

Метод 3: собственный PHP-скрипт
Если вы не используете фреймворк, вы можете создать собственный PHP-скрипт для перезаписи URL-адресов. Вот простой пример:

<?php
$request = $_SERVER['REQUEST_URI'];
$request = rtrim($request, '/');
$request = explode('/', $request);
$page = $request[1] ?? 'index';
switch ($page) {
    case 'about':
        include 'about.php';
        break;
    case 'contact':
        include 'contact.php';
        break;
    default:
        include 'index.php';
        break;
}
?>

Объяснение: В этом сценарии мы получаем запрошенный URI, удаляем конечные косые черты и разбиваем его на массив. На основе первого элемента массива (имени страницы) мы подключаем соответствующий PHP-файл. Это позволяет нам получать доступ к страницам без расширения PHP в URL.

Следуя этим методам, вы можете легко исключить расширение PHP из своих URL-адресов, сделав их более чистыми и удобными для пользователя. Предпочитаете ли вы использовать.htaccess, систему маршрутизации платформы или собственный PHP-скрипт, выбор зависит от вашей конкретной среды разработки и требований. Помните, что чистые URL-адреса не только улучшают взаимодействие с пользователем, но и повышают SEO-оптимизацию вашего сайта.