Хак для роутинга

При создании собственного модуля встала задача, чтобы в URLе не присутствовало название экшена, а сразу шел параметр. В сообществе нашел пару постов которые помогли разобраться, но конечного решения так и не было. Хочу поделиться тем, что у меня получилось. Рассмотрим все на примере экшена profile. Переделываем URL страницы пользователя с
site.ru/profile/vasya/
На
site.ru/vasya/

Читать дальше →

установка в директорию (не в корень)

Возможно проблема уже поднималась, но LiveStreet не работает, если он установлен не в корне, а в какой либо директории сайта. Проблема в том, что Router.class.php считывает лишние данные (директорию движка) в качестве URL-запроса. По крайней мере у меня было так.

Мне кажется, надо заменить 78 строку в файле /classes/engine/Router.class.php на этот код:


    $aURLData = explode($_SERVER['HTTP_HOST'], DIR_WEB_ROOT);
    $sReqURI = str_replace($aURLData[1], '', $_SERVER['REQUEST_URI']);
    
    $sReq=preg_replace("/\/+/",'/',$sReqURI);


он вырезает из $_SERVER['REQUEST_URI'] путь к директории с движком.