![]() |
route value can be used in URL - Printable Version +- CodeIgniter Forums (https://forum.codeigniter.com) +-- Forum: Development (https://forum.codeigniter.com/forumdisplay.php?fid=6) +--- Forum: CodeIgniter 3.x (https://forum.codeigniter.com/forumdisplay.php?fid=17) +--- Thread: route value can be used in URL (/showthread.php?tid=77914) |
route value can be used in URL - paulkd - 11-04-2020 Hi, I've just discovered that the route value can be used in a url e.g. This route Code: $route['products/get/all'] = "main/getAllProducts"; can be run with example.com/products/get/all or example.com/main/getAllProducts Is this by design? Or, have I done something wrong? Is there a way I serve a 404 if a user uses the route value? RE: route value can be used in URL - superior - 11-21-2020 The only fix for this i could find about this issue is https://stackoverflow.com/a/35290306/8832064, more people struggle with this issue for indexation. RE: route value can be used in URL - paulkd - 11-22-2020 (11-21-2020, 01:59 PM)superior Wrote: The only fix for this i could find about this issue is https://stackoverflow.com/a/35290306/8832064, more people struggle with this issue for indexation. Thanks for replying. This is how I addressed the issue. I decided on a convention that the $route first segment should always be different than the class name to be called. Then I update the class constructor to check the uri_string() So.. $route['products/get/all'] = "main/getAllProducts"; PHP Code: class Main extends CI_Controller This does not work with cached pages as they don't go down this "route" ![]() ![]() RE: route value can be used in URL - superior - 11-23-2020 (11-22-2020, 12:25 AM)paulkd Wrote:(11-21-2020, 01:59 PM)superior Wrote: The only fix for this i could find about this issue is https://stackoverflow.com/a/35290306/8832064, more people struggle with this issue for indexation. Why would you rewrite this on every controller/method in your project? Isn't it easier to change the core route class in example given on the Stackoverflow question? This will save you tons of writing and when a change is required you could just modify a single class/method. I would never write this kind of solutions on a Controller/Method, that's why we have MY_ to change core functionality. RE: route value can be used in URL - paulkd - 11-23-2020 (11-23-2020, 03:23 AM)superior Wrote:(11-22-2020, 12:25 AM)paulkd Wrote:(11-21-2020, 01:59 PM)superior Wrote: The only fix for this i could find about this issue is https://stackoverflow.com/a/35290306/8832064, more people struggle with this issue for indexation. Hi Superior, You are correct. Most of my controllers are actually extended of a base controller in My_Controller. So, although my example was extended off CI_Controller, in reality the hack is only used/required in a couple of constructors. ![]() |