Возвращение к теме о роутинге (для профилей)
Данная конструкция преобразует url вида /profile/{USERNAME} в url вида /{USERNAME}
Но главной проблемой является то, что таким образом переписываются все url сайта, и мы уже не сможем попасть ни на страницу регистрации, ни входа(ни блогов и проч.).
Какой хак в данном случае использовать для класса Router?
Я думаю многим будет интересна эта тема с точки зрения создателей социальных сетей на фреймворке LiveStreet.
Спасибо за внимание!
$config['router']['uri'] = array(
'~^([a-z_\-]+)$~i' => "profile/\1",
);
Но главной проблемой является то, что таким образом переписываются все url сайта, и мы уже не сможем попасть ни на страницу регистрации, ни входа(ни блогов и проч.).
Какой хак в данном случае использовать для класса Router?
Я думаю многим будет интересна эта тема с точки зрения создателей социальных сетей на фреймворке LiveStreet.
Спасибо за внимание!
28 комментариев
а как же другие урлы? /blog, /people?
(наводящая мысль)
Корневое переписывание URL увы переписывает все значения без исключений.
Если я не понял вашей сути, поясните подробнее пожалуйста.
тобишь получалось /~username/
У меня была мысль прямо в классе Router заранее предписать все значения под условием, но пока не до конца предумал как это грамотно сделать
вот с префиксом
это эскейпинг хексадецимальный :) страшно?
префикс будет "~"
будет работать вроде только в экшене.
Надо просто редирект:
после