Função CodeIgniter _Remap
-
26-09-2019 - |
Pergunta
Por favor, ajude, eu quero usar o primeiro segmento de URI no site CodeIgniter.
Como quando eu abro estes URL, eles abrem meu perfil:http://www.facebook.com/buddyforever ouhttp://www.myspace.com/zarpio
Como posso fazer isso com o Codeigniter? eu chequei _remap
função, mas o primeiro controlador vindo como ocultar o controlador?
Solução
Você pode fazer isso usando o roteamento de URL do CodeIgniter ...
Se você deseja que seu URL seja http://www.mydomain.com/zarpio
E você quer que isso se refere your_controller
, então faça o seguinte.
/config/routes.php
$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`
Você pode acessá -lo em seu controlador como este ...
$my_name = $this->uri->rsegment(2);
No entanto, não sugiro essa maneira de configurar URLs. Uma maneira melhor seria ...
$route['users/(.*)'] = "your_controller/$1";
Dessa forma, você está apenas renomeando o nome do seu controlador your_controller
para users
.
Se você deseja acessar o perfil de um usuário, pode fazer assim ...
$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";
Considere a ordem de roteamento. Desde que você escreveu users/(.*)
Na sua rota, ele combinará users/zarpio
assim como users/profile/zarpio
, e rotear os dois para your_controller/$1
, que no caso do perfil lhe dará um 404 page not found
erro. É por isso que você precisa escrever users/profile/(.*)
antes da users/(.*)
na sua configuração de roteamento.
Mais informações em Documentação da classe URI CodeIgniter