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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top