Для создания красивых и понятных ссылок в COTONTI есть отличная система создания ссылок ЧПУ.
Это нововведение очень полезно для SEO оптимизации сайтов, и для пользователя ссылки становятся более понятными.
Давайте рассмотрим несколько примеров создания правил для системы ЧПУ.
Для того, что бы ваши ссылки стали вида:
www.site/page/defecit_time.html вместо www.site/page.php?al=defecit_time (с алиасом)
или
www.site/page/345.html вместо www.site/page.php?id=345 (по id)
Для таких преобразований нужно прописать правила в движке в Администрировании => Модули => ссылки
Заходим и видим таблицу:
Модули - собственно список модулей движка.
Параметры - тут надо прописать переменные, используемые модулем (к примеру, page использует переменную $id - ID страницы и $al Алиас или псевдоним страницы).
Формат - какой формат ссылки вы хотели бы иметь.
Нажимаем Новое правило и добавляем правила.
К примеру, давайте возьмем модуль PAGE (Использует переменные $id -id страницы и $al - алиас страницы - псевдоним.)
Пример:
Модули Параметры Формат page id=* page/{$id}.shtml page al=* page/{$al}.html
Эти правила прописываются в файл datas/urltrans.dat. Не советую эти правила прописывать напрямую в этот файл! Так как вы зададите только исходящие ссылки, но внешние приниматься не будут - нет преобразования в .htaccess. Обязательно ставим галочку Перезаписать .htaccess? и жмем сохранить!
В результате работы ЧПУ наши ссылки станут вида:
www.site/page/defecit_time.html
www.site/page/345.html
Теперь изменим правила:
Модули Параметры Формат page id=* page_{$id}.shtml page al=* page_{$al}.html
В результате работы ЧПУ наши ссылки станут вида:
www.site/page_defecit_time.html
www.site/page_345.html
Для LIST:
Модули Параметры Формат list c=* list/{$c}.html
Теперь запись в .htaccess будет преобразовывать входящие ссылки,а движок создавать исходящие в соответсвии с правилами ЧПУ!
Теперь давайте посмотрим правила для форума.
Модуль FORUM (Используемые переменные: $m - posts или topics ; $s - номер topics; $q - номер posts)
Пример:
Модули Параметры Формат forums m=posts&q=* {$m}/{$q}.html forums m=*&s=* {$m}_{$s}.html
или
Модули Параметры Формат forums m=posts&q=* forums/{$m}/{$q}.html forums m=*&s=* forums/{$m}_{$s}.html
В результате работы ЧПУ наши ссылки станут вида:
www.site/posts/17.html
www.site/topics_15.html
и
www.site/forums/posts/17.html
www.site/forums/topics_15.html
Зная какие переменные использует данный модуль, можно создавать ссылки на Ваш вкус.
P.S. Многие плагины не используют функцию движка для создания ссылок, а используют вручную прописанные ссылки типа page.php?id=$id. Естественно они будут выдавать ссылки не по правилам ЧПУ. Необходима замена в плагинах строк задающих ссылки. Все ссылки должны создаваться через встроенную функцию движка sed_url.
Удачи....
Thanked: 16 mal
Thanked: 58 mal
кусок кода создания ссылки на новость:
$pag['page_pageurl'] = (empty($pag['page_alias'])) ? "page.php?id=".$pag['page_id'] : "page.php?al=".$pag['page_alias'];
его меняем на :
$pag['page_pageurl'] = (empty($pag['page_alias'])) ? sed_url('page', "id=".$pag['page_id']) : sed_url('page', "al=".$pag['page_alias']);
И ЧПУ подхватывает !
Thanked: 28 mal
Thanked: 58 mal
не использовать такое правило
list c=* {$c}/
лучше так
list c=* {$c}.html
Админы уберите эту строку в статье!
Кто подскажет, как правильно прописать?
Ну максимум сделал похожую для page, только в конце стоит слеш
здесь так http://www.cotonti.com/docs/ru/admin/url_chpu
а у меня так page/{$al}/ http://www.cotonti.com/docs/ru/admin/page/url_chpu/ это алиас.
по id так page/{$id}/ http://www.cotonti.com/docs/ru/admin/page/25/ если в формате убираем слешь в конце, то убивается ссылка. Как настроить правильно?
Для list сделал list/{$c}/ http://www.cotonti.com/cotonti/list/news/ - так работает. а если формат {$c}/ то убивает вывод тегов на главной.
Для users не получается сделать как тут. Получает вот что
page u=* users/{$u}/ http://www.cotonti.com/cotonti/users/admin/?m=details&id=1
ссылка работает, но не человеческая она.
Подскажите как настроить.:)
page al=* {$c}/{$al}/
получилась такая ссылка http://www.cotonti.com/docs/url_chpu/
Но зато убило http://www.cotonti.com/docs/ - неправильный урл.
Запутался ёпт. Почему одно убивает другое?
Запрыгни - сюды.