route value can be used in URL |
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?
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.
(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" ![]() ![]() (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. (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. ![]() |
Welcome Guest, Not a member yet? Register Sign In |