I have done more tests with these and got little bit further, but
still having issues.. Here's the current state:
With these routes:
Router::connect('/:company/:controller/:action/', array('controller'
=> 'home', 'action' => 'index'));
Router::connect('/:company/:controller/', array('controller' =>
'home', 'action' => 'index'));
Router::connect('/:company/', array('controller' => 'home', 'action'
=> 'index'));
Following urls work:
localhost/somecompany/
localhost/somecompany/home
localhost/somecompany/home/test <-- goes to test() method of
home_controller.php
But action parameters don't work (because they are not being cached by
the routes):
localhost/somecompany/home/test/1 --routes to--> app\controllers
\asd_controller.php
With these routes trying to also catch the parameters for action:
Router::connect('/:company/:controller/:action/*', array('controller'
=> 'home', 'action' => 'index'));
Router::connect('/:company/:controller/:action/', array('controller'
=> 'home', 'action' => 'index'));
Router::connect('/:company/:controller/', array('controller' =>
'home', 'action' => 'index'));
Router::connect('/:company/', array('controller' => 'home', 'action'
=> 'index'));
Following urls work:
localhost/asd/home
localhost/asd/home/test
localhost/asd/home/test/11
But the url:
localhost/asd/
get's routed to a null controller again, e.g. app\controllers
\controller.php
I'll update my progress as I go along, but please anyone post if you
know what's going on!
Thanks.
On May 19, 3:58 am, brian <[email protected]> wrote:
> On Mon, May 18, 2009 at 7:40 PM, doze <[email protected]> wrote:
>
> > Hello,
>
> > I'm having some problems with my routing, let's go straight to
> > business:
>
> > When accessing this url:http://localhost/somecompany/home
>
> > 1. With route setup:
>
> > Router::connect('/:company/:controller/*');
>
> > Result:
> > Works ok, get's routed to /app/controllers/home_controller.php
>
> > 2. With route setup:
>
> > Router::connect('/:company/:controller/*', array(), array
> > ('company' => '[A-Z][a-z][0-9]'));
>
> > Result:
> > Fails, get's routed to /app/controllers/somecompany_controller.php
>
> > Question:
> > Why it fails when I set regexp check to the company parameter?
>
> That regexp will catch only a string constructed of a single uppercase
> letter, followed by a single lowercase letter, followed by a single
> digit. Try:
>
> [A-Za-z0-9]+
>
> This incorporates the 3 character types in a single set.The + says to
> match one or more characters.
>
>
>
> > When accessing this url:http://localhost/somecompany/
>
> > 1. With route setup:
>
> > Router::connect('/:company/*', array('controller' => 'home'));
>
> > Result:
> > Works ok, get's routed to /app/controllers/home_controller.php
>
> > 2. With route setup:
>
> > Router::connect('/:company/:controller/*');
> > Router::connect('/:company/*', array('controller' => 'home'));
>
> > Result:
> > Fails, get's routed to /app/controllers/controller.php
>
> > Question:
> > Why it doesn't take the second route and find to home controller?
>
> That one I'm unsure of as I never use the ':controller' placeholder.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---