Главный Каталог Статей РФ
85933 авторов, размещено 47073 статей, сейчас на сайте пользователей: 121 Статистика
Аватар 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
Лучшие авторы
Аватар azart.tech
Кто мы
Современное объединение профессионалов, ...

Читать

Аватар riword
Группа компаний Русьинновация - крупная фирма, спе...

Читать

Аватар promoter
Студент :)

Читать

Аватар slawa100
Мастер строитель, мой блог о стройке и ремонте bui...

Читать

Аватар barsikoff1
АВТОЗАПЧАСТИ ИЗ ЕВРОПЫ В НАЛИЧИИ И ПОД ЗАКАЗ. гАРа...

Читать

Свежие комментарии
Талантливый человек талантлив во всём! Будь как Паша! А ещё ты можешь ...

Читать

Можно выбрать.

Читать

Ой, шутник.

Читать

https://priornews.ru/zastrojshhik-iz-hmao-sravnil-ufas-s-prestupnoj-gr...

Читать

https://ura-news.turbopages.org/turbo/ura.news/s/news/1052688335

Читать

Напишите нам