Há uma forma mais avançada. Dá mais trabalho mas fica mais "elegante".


No CI podem-se extender todos as peças. Há um evento (Hook) chamado
pre_controller. Extendendo esse hook pode.se fazer isso. Faz o CI verificar
primeiro se a classe existe e se não existe, redirecciona para um
controller/função padrão que é a tua função principal.

http://codeigniter.com/user_guide/general/hooks.html

Podes fazer isso também na rotina de 404. Há forma de extender o route para
isso.

http://maestric.com/doc/php/codeigniter_404

É menos elegante e menos geek. Mas faz o que queres.

Peace,
Ricardo


2010/7/2 Rafael V. de Oliveira <[email protected]>

> Eu uso assim nos routes
>
> $route['^(?!esse_nao|nem_esse).*'] =
> "classe_que_eu_quero/funcao_dentro/$0";
>
>
>
> Assim, ele redireciona TUDO para classes_que_eu_quero, método funcao_dentro
> e o parâmetro é o que eu escrever.
>
> MENOS se eu escrever esse_nao e nem_esse
>
>
>
> Abraços
>
>
>
> *De:* [email protected] [mailto:
> [email protected]] *Em nome de *jonatan froes
> *Enviada em:* sexta-feira, 2 de julho de 2010 17:37
>
> *Para:* [email protected]
> *Assunto:* Re: [CodeIgniter] URL´s igual a do Twitter
>
>
>
> No clikofertas.com eu fiz isso.
>
> Configurei todas as rotas primeiro e por último coloquei $route['(:any)'] =
> "home/users/$1";
>
>
>
> Att
> Jônatan Fróes - Desenvolvedor web
> http://twitter.com/jonatanfroes
>
>
>
>
> ------------------------------
>
> *De:* "[email protected]" <[email protected]
> >
> *Para:* [email protected]
> *Enviadas:* Sexta-feira, 2 de Julho de 2010 12:00:05
> *Assunto:* Digest Lista, volume 36, assunto 9
>
> Enviar submissões para a lista de discussão Lista para
>     [email protected]
>
> Para se cadastrar ou descadastrar via WWW, visite o endereço
>     http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> ou, via email, envie uma mensagem com a palavra 'help' no assunto ou
> corpo da mensagem para
>     [email protected]
>
> Você poderá entrar em contato com a pessoa que gerencia a lista pelo
> endereço
>     [email protected]
>
> Quando responder, por favor edite sua linha Assunto assim ela será
> mais específica que "Re: Contents of Lista digest..."
>
>
> Tópicos de Hoje:
>
>   1. URL´s igual a do Twitter (Listas - FabioSRibeiro)
>   2. Re: URL´s igual a do Twitter (Alexandre Neuwald)
>   3. Re: URL´s igual a do Twitter (Pedro Bernardes)
>
>
> ----------------------------------------------------------------------
>
> Message: 1
> Date: Fri, 2 Jul 2010 09:56:14 -0300
> From: Listas - FabioSRibeiro <[email protected]>
> To: [email protected]
> Subject: [CodeIgniter] URL´s igual a do Twitter
> Message-ID:
>     <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Bom dia Galera!
>
> Estou com uma dúvida.
>
> Como posso estar criando uma route para quando o usuario acessar o site ele
> abra a sua página?
>
> Ex.: http://www.twitter.com/fabiorphp
>
> Gostaria de em meu projeto funcionasse dessa forma, sem afetar as outras
> partes do sistema.
>
> Eu sei que preciso estar definindo rotas para isso, eu fiz assim:
>
> $route['(:any)'] = "home/users/$1";
>
> Mas o problema de definir isso é que não posso mais acessar os outros
> controllers do sistema.
>
> Muito obrigado pela atenção de todos
>
> --
> Fábio da Silva Ribeiro
>
> Website: http://www.fabiosribeiro.com.br
> MSN: [email protected]
> Twitter: http://www.twitter.com/fabiorphp
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://codeigniter.com.br/pipermail/lista_codeigniter.com.br/attachments/20100702/74068fb6/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 2
> Date: Fri, 2 Jul 2010 10:11:15 -0300
> From: Alexandre Neuwald <[email protected]>
> To: CodeIgniter Brasil <[email protected]>
> Subject: Re: [CodeIgniter] URL´s igual a do Twitter
> Message-ID:
>     <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Tem que fazer route p/ todos, pelo menos não conheço outra solução.
>
> Em 2 de julho de 2010 09:56, Listas - FabioSRibeiro <
> [email protected]> escreveu:
>
> > Bom dia Galera!
> >
> > Estou com uma dúvida.
> >
> > Como posso estar criando uma route para quando o usuario acessar o site
> ele
> > abra a sua página?
> >
> > Ex.: http://www.twitter.com/fabiorphp
> >
> > Gostaria de em meu projeto funcionasse dessa forma, sem afetar as outras
> > partes do sistema.
> >
> > Eu sei que preciso estar definindo rotas para isso, eu fiz assim:
> >
> > $route['(:any)'] = "home/users/$1";
> >
> > Mas o problema de definir isso é que não posso mais acessar os outros
> > controllers do sistema.
> >
> > Muito obrigado pela atenção de todos
> >
> > --
> > Fábio da Silva Ribeiro
> >
> > Website: http://www.fabiosribeiro.com.br
> > MSN: [email protected]
> > Twitter: http://www.twitter.com/fabiorphp
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://codeigniter.com.br/pipermail/lista_codeigniter.com.br/attachments/20100702/6f76fcd5/attachment-0001.html
> >
>
> ------------------------------
>
> Message: 3
> Date: Fri, 2 Jul 2010 14:23:14 +0100
> From: Pedro Bernardes <[email protected]>
> To: CodeIgniter Brasil <[email protected]>
> Subject: Re: [CodeIgniter] URL´s igual a do Twitter
> Message-ID:
>     <[email protected]>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Se você definir um controller padrao e chamar
> http://www.twitter.com/fabiorphp ele vai usar o controller padrão e passar
> fabiorphp como parâmetro não? Se isso funcionar, o foda é se um usuário
> usar
> o mesmo nome de um controller =P
>
> Em 2 de julho de 2010 14:11, Alexandre Neuwald
> <[email protected]>escreveu:
>
> > Tem que fazer route p/ todos, pelo menos não conheço outra solução.
> >
> > Em 2 de julho de 2010 09:56, Listas - FabioSRibeiro <
> > [email protected]> escreveu:
> >
> >> Bom dia Galera!
> >>
> >> Estou com uma dúvida.
> >>
> >> Como posso estar criando uma route para quando o usuario acessar o site
> >> ele abra a sua página?
> >>
> >> Ex.: http://www.twitter.com/fabiorphp
> >>
> >> Gostaria de em meu projeto funcionasse dessa forma, sem afetar as outras
> >> partes do sistema.
> >>
> >> Eu sei que preciso estar definindo rotas para isso, eu fiz assim:
> >>
> >> $route['(:any)'] = "home/users/$1";
> >>
> >> Mas o problema de definir isso é que não posso mais acessar os outros
> >> controllers do sistema.
> >>
> >> Muito obrigado pela atenção de todos
> >>
> >> --
> >> Fábio da Silva Ribeiro
> >>
> >> Website: http://www.fabiosribeiro.com.br
> >> MSN: [email protected]
> >> Twitter: http://www.twitter.com/fabiorphp
> >>
> >> _______________________________________________
> >> Lista mailing list
> >> [email protected]
> >> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >>
> >>
> >
> > _______________________________________________
> > Lista mailing list
> > [email protected]
> > http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
> >
> >
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: <
> http://codeigniter.com.br/pipermail/lista_codeigniter.com.br/attachments/20100702/be1203e4/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
> Fim da Digest Lista, volume 36, assunto 9
> *****************************************
>
>
>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>


-- 
A good Coder never dies! He degrades gracefully!
[email protected]
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a