Re: Routing oddities
Got it to work finally!! These are the final routes: 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')); All I needed to do is to change the two first routes other way down. Sweet! Thanks for all the help and especially the great guys at #cakephp!! Now to a next adventure.. :) On May 19, 4:29 am, doze wrote: > 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 wrote: > > > On Mon, May 18, 2009 at 7:40 PM, doze 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 cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Re: Routing oddities
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 wrote: > On Mon, May 18, 2009 at 7:40 PM, doze 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 cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Re: Routing oddities
On Mon, May 18, 2009 at 7:40 PM, doze 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 cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---
Routing oddities
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? 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? Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~--~~~~--~~--~--~---