Метод 1: использование mod_rewrite
Модуль mod_rewrite в Apache позволяет нам перезаписывать URL-адреса на лету. Чтобы удалить путь к файлу из URL-адреса, мы можем использовать директиву RewriteRule в файле.htaccess. Вот пример:
RewriteEngine On
RewriteRule ^(.*/)?([^/]+)$ /$2 [L]
Это правило удалит путь к файлу из URL-адреса, оставив только последний сегмент. Например, example.com/path/to/file.htmlбудет переписано как example.com/file.html.
Метод 2: перенаправление с помощью mod_alias
Другой подход — использовать модуль mod_alias для перенаправления URL-адресов. Этот метод полезен, если вы хотите перенаправить пользователей со старой структуры URL-адресов на новую, не раскрывая базовый путь к файлу. Вот пример фрагмента кода:
RedirectMatch 301 ^/path/to/(.*)$ /$1
Это правило перенаправляет любой URL-адрес, начинающийся с /path/to/, на тот же URL-адрес без пути к файлу. Например, example.com/path/to/file.htmlбудет перенаправлен на example.com/file.html.
Метод 3: использование PHP
Если вы работаете с веб-сайтом на базе PHP, вы можете использовать серверные сценарии для удаления путей к файлам из URL-адресов. Вот простая функция PHP, которая позволяет это сделать:
<?php
function removeFilepath($url) {
$path = parse_url($url, PHP_URL_PATH);
$segments = explode('/', rtrim($path, '/'));
return end($segments);
}
// Usage example
$url = 'http://example.com/path/to/file.html';
$cleanUrl = removeFilepath($url);
echo $cleanUrl; // Outputs: "file.html"
?>
Эта функция извлекает последний сегмент URL-адреса после удаления пути к файлу. Вы можете интегрировать его в свой PHP-код для динамического создания чистых URL-адресов.