Главный Каталог Статей РФ
87238 авторов, размещено 47366 статей, сейчас на сайте пользователей: 408 Статистика
Аватар websmith

Создаем ЧПУ (человеко-понятные урлы) в скриптах при помощи Smarty

Категория:  Интернет  | Автор:  websmith | Опубликовано: 14.08.2007

Примечание: "Урл" - он же URL - универсальный адрес ресурса, она же ссылка на ресурс.

Человеко-понятные урлы - это ссылки, которые выглядят не запутанным нагромождением вопросительных знаков и амперсандов (значок &) и передаваемых в них параметров (типа такого - view_bill.php?id_bill=11 - и это еще не самый страшный вариант), а как ссылки на статичные html-страницы - например bill_11.htm. Кроме того, что они воспринимаются гораздо легче человеком, такие ссылки охотнее воспринимаются поисковыми истемами (мнение кстати, довольно спорное - но большинство склоняется к нему), что приводит к лучшей индексации таких страниц - и соответвенно лучшему нахождению сайта пользователями. Что в конечном итоге нам и надо.

Что бы отработать технику создания ЧПУ при помощи Smarty - вы можете скачать демо-версию Cкрипт продажи недвижимости - в ней есть уже подключенный Smarty, есть тестовое объявление и полностью сохранена работа с шаблонами. Все примеры ниже будут на базе шаблонов именно этой демо-версии.

Для создания этих самых ЧПУ в любом из скриптов, используюущем шаблонизатор Smarty (в частности, одним из моих готовых скриптов) нам понадобятся:
- модуль для Апача mod_rewrite (обычно уже установлен на сервере, если не уверены - поинтересуйтесь у своего хостинг-провайдера)
- файл .htaccess (также обычно на платном хостинге доступен для использования)
- непосредственно файлы-шаблоны, отвечающие в скрипте за вывод ссылок, которые мы и должны изменить.

Приступим к "приготовлению".

1. Создаем файл .htaccess - если он у вас уже есть, то просто открываем его и добавляем новые строки - например у его конец. Файл должен находится в папке стем скриптом, для которого мы "готовим" наши ЧПУ.

2. В нем прописываются правила замены - как именно должен сервер изменять урлы - так как по сути, меняя ссылки, мы никак не затрагиваем работу скриптов - а они по прежнему должны получать ожидаемые параметры через ссылку. Значит нужно, что бы сервер "переводил" те "понятные" ссылки, которые мы сделаем - в вид "непонятны" человеку, но понятных скрипту. Этим и занимается модуль Апача mod_rewrite.
Пример записи в файл .htaccess, в котором определяются правила замены ссылок вида bill_22.htm (22 - случайный номер, зависит от конкретного объявления, это его id номер) на понятную скрипту ссылку view_bill.php?id=22.

RewriteEngine On
RewriteRule ^bill_(.*).htm$ view_bill.php?id=textarea

Подробнее о командах, используемых в файле:
RewriteEngine On - это отметка о включении применения правил переделки "урлов"

RewriteRule ^bill_(.*).htm$ view_bill.php?id=textarea
А это правило, которое преобразует ссылки вида bill_12.htm в понятный для скрипта вид view_bill.php?id=12
Символ ^ - означает начало строки, а символ $ - ее конца
знак textarea - это тот символ - в нашем случае уникальный номер объвления, который получается при обработке ссылки - и захватывается он при помощи выражения (.*) в нашей строке поиска и замены.


Дальше - на сайте нужно организовать создание этих самых понятных урлов (вида bill_12.htm). Делается это в шаблоне - для скрипта недвижимости это например шаблон вывод списка объявлений - tpl/template/view/_list_bill.tpl.

В шаблонном файле находим строки, которые формируют ссылку на объявления, вот например эта:

< a href="bill.php?id={$bill.id}" target="_blank" >< img src="img/dop_img/lup.gif" border="0" />

и в ней меняем соответственно
bill.php?id={$bill.id}
на
bill_{$bill.id}.htm

Как видите - для получения номера объявления используем переменную Smarty {$bill.id}.
Таким образом на сайте ссылки будут выглядеть как bill_12.htm (например), а для скрипт сервер их переделает в view_bill.php?id=12


Кузнецов Сергей www.websmith.ru

Комментарии
К этой статье пока нет комментариев. Станьте первым! У нас гости не могут комментировать статьи. Пожалуйста авторизуйтесь или зарегистрируйтесь, чтобы прокомментировать.
Интересные статьи по теме
Аватар AnemoN
Накрутка лайков и подписчиков ВКонтакте Есть несколько хитрых и не очень методов, которые используются для т.н. "накрутки лайков".О заслуживающих внимания пойдет речь в этой статье....
Категория: Интернет | Автор: AnemoN | Добавлено: 17.02.2013
Аватар Jetti
Буксы — что это такое и как правильно выбрать букс для заработка Из-за коронавируса, "блуждающего" по всему миру вот уже второй год, у многих людей появилось огромное количество свободного времени. Одни стали тратить это время на хобби, другие — читать книги и смот...
Категория: Интернет | Автор: Jetti | Добавлено: 20.07.2021
Аватар Lizetta
Сколько времени уходит на создание сайта? Сколько времени тратит специалист на разработку сайта? В какой срок можно создать сайт и чем обуславливается это?...
Категория: Интернет | Автор: Lizetta | Добавлено: 03.06.2011
Аватар gul_itb
Как правильно представить информацию на сайте Зачем люди сидят в Интернете? В основном есть две причины – это развлечение и поиск информации. Ваш корпоративный сайт, конечно же тоже служит этим двум целям Интернет-общения. Даже бизнес-сайт о чем-...
Категория: Интернет | Автор: gul_itb | Добавлено: 26.10.2009
Аватар Marta22
Как улучшить страницу на сайте вконтакте Советы, как сделать страницу в vkontakte лучше...
Категория: Интернет | Автор: Marta22 | Добавлено: 21.08.2009
Свежие комментарии
Ну, вот это я понимаю, настоящая инструкция для тех, кто хочет не просто «привет, как дела», а чтобы дамы сами в личку ломились! Как говорится, техник...

Читать >>

Куклы-обереги действительно имеют глубокий символизм и интересную историю, которая часто теряется в современных интерпретациях. Например, многие не зн...

Читать >>

Полностью поддерживаю подход, описанный в статье! Рисование — не просто творческое занятие, а ключевой инструмент для развития ребёнка. Как детский пс...

Читать >>

Интересная подборка ошибок, но не могу не высказать скепсис по поводу части рекомендаций. Например, о зарядке только до 80% — это логично с техническо...

Читать >>

Работал соцработником пару лет, и вот что не написали: это не только помощь людям, но и куча бумажек, отчётов и согласований. Бывает, половина времени...

Читать >>

Лучшие авторы
Аватар Vitolura
Занимаюсь сетевым маркетингом с 2001 года. Интерне...

Читать

Аватар strongatlet
тот самый

Читать

Напишите нам