Преобразование URL в читабельный вид

В данной статье рассматривается проблема преобразования URL адреса сайтов, которые написаны на одном из языков веб-программирования в более читабельный.

К примеру:
Не читабельный вид ссылки:
www.domen.ru/index.php?cat=car&model=bmw
Читабельный вид ссылки: http:/www.domen.ru/car/bmw.html
или http://www.domen.ru/car/bmw/

Актуальность темы заключается в том, что  читабельный вид ссылки оказывает влияние на продвижение сайта в поисковый системах. На сколько сильно это влияние оказывается, сказать достаточно трудно. Но можно заметить одну закономерность, большинство сайтов используют данные преобразования.

Проведем эксперимент:

Введем любое слово в поисковую систему (к примеру в yandex.ru произвести поиск по запросу «купить телевизор» — без кавычек). Обратите внимание, что большинство ссылок представлены в читабельном виде.

Данные преобразования доступны сайтам, страницы которых формируются динамически. Читабельный URL (еще называют как ЧПУ) – это веб-адреса, удобные для восприятия человеком, либо «человекопонятный урл» (в жаргоном смысле) откуда и произошла данная аббревиатура.

В свою очередь URL (Uniform Resource Locator) – это единый указатель ресурсов.

Для осуществления подмены (преобразования) URL  в читабельный вид, необходимо создать в корне документа файл без имени имеющий расширение htaccessс (файл конфигурации apache) . Через данный файл осуществляется дополнительная конфигурация Apache.

В файле .htaccess необходимо указать директиву:

RewriteEngine on – позволяет/запрещает осуществлять преобразование http-адреса.

Данные манипуляции осуществляются с помощью модуль Apache mod_rewrite.

Далее необходимо с помощью регулярных выражений указать в файле .htaccess, по какому формату необходимо изменять URL. Все зависит от количества передаваемых параметров в URL. В приведенном выше примере использовалось следующее регулярное выражение

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?cat=$1&model=$2 [L]

Для создания правильного регулярного выражения советую воспользоваться сервисом «GenerateIt».

В поле «The original URL» необходимо указать оригинальный адрес (с передаваемыми параметрами)
В The rewritten URL будет показан измененный URL. В данном сервисе так же можно добавлять суффикс, префикс изменять разделители.

К примеру, если осуществляется передача только числовых параметров:

  • Оригинальный url: www.domen.ru/index.php?cat=5&model=27;
  • преобразованный url: http://www.domen.ru/5/27;
  • с префиксом  cat_: http://www.domen.ru/cat_5/27.html;
  • с добавлением  «_» : http://www.domen.ru/cat_5_27.html;

Формат:

RewriteRule ^[префикс]([^-]*)[разделитель]([^-]*)\.[суфикс]$ /index.php?cat=$1&model=$2 [L]

После генерации, в поле Rewrite Rule появится код, который необходимо вставить в файл .htaccess.

Достоинствами ЧПУ можно назвать следующее:

  • Адреса ЧПУ достаточно легко запомнить;
  • проще разобраться в структуре сайта;
  • по ввиду ссылки – можно понять ее смысл до перехода по ней.

Недостатки:

  • Увеличиваются затраты ресурсов сервера;
  • необходимо производить дополнительные манипуляции с URL при условии если передаются параметры в виде текста (как указано в первом примере);
  • усложнение настройки сайта в связи с необходимостью вмешиваться в конфигурационные файлы веб-сервера.

Данную технологию преобразованию URL необходимо использовать для страниц, которые индексируются поисковыми системами.