Сделать строку заголовка полным URI для всех страниц, используя CodeIgniter - PullRequest
0 голосов
/ 17 августа 2011

С CodeIgniter я пытаюсь создать структуру URL, которая использует строку заголовка в качестве whole URI; так, например: www.example.com / this-is-a-title-string

Я вполне уверен, что мне нужно использовать функцию url_title () в помощнике по URL вместе с папкой конфигурации rout.php, но я застрял, собирая все это вместе.

Где я могу определить URI и как он попадает в папку маршрутов?

Кажется, это прямая проблема, но я застреваю, создавая URL-адреса сквозной. Чего мне не хватает?

Я подумал о всеобъемлющем в папке маршрутов: $route['(.*)'] = "welcome/controller/$1"; .... но как это будет работать с несколькими функциями внутри конкретного контроллера? ... и, возможно, это даже не правильный способ решить.

Ответы [ 2 ]

0 голосов
/ 18 августа 2011

Если вы собираетесь перенаправлять каждый запрос, вам следует расширить CI_Router.

Реальная реализация зависит от того, что вы делаете.Если вы настраиваете CI_Router, вы можете сделать это ПОСЛЕ кода, который проверяет маршруты. Php, чтобы вы могли сохранить маршруты и доступными для дальнейшей настройки.может проанализировать его в вашем расширенном CI_Router, а затем продолжить запрос как обычнофункция / параметры.Используя сообщения блога в качестве примера, вы можете найти URI (он же post-slug в WordPress) в базе данных и получить соответствующую запись.Затем перенаправьте запрос на что-то вроде «article / view / ID».

0 голосов
/ 18 августа 2011

Вы можете отправить все запросы водителю с помощью чего-то вроде этого:

$route['(:any)'] = "welcome/function";

Затем используйте функцию _remap для маршрутизации запросов внутри контроллера.

Однакоиспользование URL, как вы предлагаете, ограничивает функциональность CI.Попробуйте что-нибудь получше, например www.example.com / article / this-is-a-title-string

$route['article/(:any)'] = "articles/index";

, а в статье (контроллере) используйте _remap ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...