2016-10-31 4 views
0

Наверное, есть тонны результатов в google и stackoverflow. Но, к сожалению, до сих пор я не мог ничего сделать.URL-адрес URL-адреса Codeigniter?

То, что я - http://localhost/profile/user/userA/12345

То, что я хочу - http://localhost/profile/user/userA

в URL

условия

  • нужно разобрать результат с 12345 и URL должен be http://localhost/profile/user/userA

Результат страницы отображаются с данным последним сегментом т.е. 12345, в запросе

+0

показать код, что вы пробовали? –

+0

профиль - это контроллер, пользователь - это метод. userA и 12345 - это сегменты, которые я прохожу по ссылке, а в пользовательском профиле пользователя контроллера я поймаю это, используя сегмент $ this-> uri-> (4) и передаю это в моем запросе. Я хочу, чтобы логика присутствия сохранялась, но url должен измениться с профиля/user/userA/12345 на profile/user/userA – Subhajit

+0

'12345' это идентификатор, который будет изменяться с пользователем? –

ответ

0

Коротких использования .htaccess переписать URL (который я не уверен, что можно было бы и лично бы не хотят пытаться) нет способа передать данные через сегменты URI и скрыть эти сегменты в адресной строке браузера.

Маршрутизация Codeigniter не поможет. Маршрутизация URI не изменяет отображаемый URL. Это не то, для чего это необходимо, и на самом деле все наоборот.

Маршрутизация предназначена для переинтерпретации URL-адреса для вызова другого контроллера и, необязательно, метода и, необязательно, сегментов аргументов. Аргументы все равно должны быть предоставлены и все равно будут отображаться в адресной строке браузера.

0

Вы можете использовать хранилище сеансов. Прежде чем перенаправить на эту страницу http://localhost/profile/user/userA

сохранить 12345 в сеансе.

$this->session->set_userdata('id',12345); 

вы можете получить это,

$id = $this->session->userdata('id');