У меня есть базовый контроллер (base
), из которого все остальные контроллеры расширяются. Все, что размещено здесь, переопределит другие контроллеры, здесь будут перенаправлены.Codeigniter - сегмент URL заменить или перенаправить
URL, например:
http://domain.com/controllerone/function
http://domain.com/controllertwo/function
http://domain.com/controllerthree/function
Используя код, приведенный ниже. даст мне имя контроллера
$this->uri->segment(1);
Каждый из вышеуказанных контроллеров должны быть перенаправлены на отдельные адреса, но Funcation часть не должна измениться:
http://domain.com/newcontrollerone/function
http://domain.com/newcontrollertwo/function
http://domain.com/newcontrollerthree/function
В моем регуляторе я хочу следующую логику :
$controller_name = $this->uri->segment(1);
if($controller_name === 'controllerone'){
// replace the controller name with new one and redirect, how ?
}else if($controller_name === 'controllertwo'){
// replace the controller name with new one and redirect, how ?
}else{
// continue as normal
}
я думал, я должен использовать redirect()
функцию и str_replace()
, но не знаю, насколько эффективно это будет. В идеале я не хочу использовать класс Routing
.
спасибо.
спасибо за ответ, если это будет 'redirect ($ redirect_url, 'refresh');' >> 'redirect ($ redirect_segments, 'refresh');'? – TheDeveloper
Да, должно быть, извините! – jleft
все кажутся мне полезными, спасибо – TheDeveloper