CodeIgniter Forums

Full Version: URI Routing Help - 23.07.19
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi Guys greetings!

$route['mf'] = 'voting/mf';

/***Route Formteste Works***/
$route['formteste'] = 'formteste/index';

/***Route Voting Dashboard Works***/
$route['admin_voting'] = 'admin_voting/index';

/***Route default_controller Works***/
$route['default_controller'] = 'voting/index';

/***Route Works***/
$route['(:any)'] = 'voting/index/$1';

// $route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

Above are the routes.

In four cases the routes are working very normal with the name of the controller - slash - index = controller/index.

Here i need to write the controller name and the method name.
$route['mf'] = 'voting/mf';              voting  = controller method = mf
In this case in special it doesn't work when i try to use voting/index. Why?

Does someone has some idea what is going on or what is missing please?

Before someone to send me to read the documentation, i've already read it, but i didn't find a clear help, that's why i'm here.

https://www.codeigniter.com/user_guide/g...ri-routing


Thank you very much in advance
I'm not exactly sure what you want to do, but maybe it will help:

Example 1:
$route['{segment-1} / {segment-2} / {segment-3}']
will be converted to:
https://example.com/segment-1/segment-2/segment-3/

Example 2:
$route['auth/welcome/( : segment)'] = "authentication/index/$1";
The value "segment" can be passed to the method "index" of the class "authentication".
* Example: https://example.com/auth/welcome/Jack
  displays: Welcome, Jack !

Example 3:
$route['photos/( : segment)/( :any)'] = "photos/catalogs_$1/id_$2";
The value "#segment" can be passed to the "#catalogs_&1" method of the "#photo" class, after which this value becomes the " #catalogs_***" method, and the value from "#:any" is passed to the ready method "#catalogs_****".
* Example: https://example.com/photos/cats/1
  Displays photos whose ID=1, from catalogue under the name cats...

P.S. If somewhere is wrong please correct me, I may be confused with CI4.
(07-23-2019, 03:03 AM)Digital_Wolf Wrote: [ -> ]I'm not exactly sure what you want to do, but maybe it will help:

Example 1:
$route['{segment-1} / {segment-2} / {segment-3}']
will be converted to:
https://example.com/segment-1/segment-2/segment-3/

Example 2:
$route['auth/welcome/( : segment)'] = "authentication/index/$1";
The value "segment" can be passed to the method "index" of the class "authentication".
* Example: https://example.com/auth/welcome/Jack
  displays: Welcome, Jack !

Example 3:
$route['photos/( : segment)/( :any)'] = "photos/catalogs_$1/id_$2";
The value "#segment" can be passed to the "#catalogs_&1" method of the "#photo" class, after which this value becomes the " #catalogs_***" method, and the value from "#:any" is passed to the ready method "#catalogs_****".
* Example: https://example.com/photos/cats/1
  Displays photos whose ID=1, from catalogue under the name cats...

P.S. If somewhere is wrong please correct me, I may be confused with CI4.

Sorry Guys,

i wrote a mistake.

$route['mf'] = 'mf/index';

This line above does not work! here we have the method (mf) and the index page of the method where should appear the "Form Page".

When i try to access this page, http://localhost/poll/mf  i see 404 Page Not Found
PHP Code:
$route['mf'] = 'mf/index'

This route makes no sense. It says: if the url is http://yourwebsite/mf, then point to the index method inside the mf controller.
This is default behaviour if the url has only one segment (controller), so you don't need an extra route for that.
Just make sure the mf controller has an index method.
(07-23-2019, 05:44 AM)Porto Wrote: [ -> ]
(07-23-2019, 03:03 AM)Digital_Wolf Wrote: [ -> ]I'm not exactly sure what you want to do, but maybe it will help:

Example 1:
$route['{segment-1} / {segment-2} / {segment-3}']
will be converted to:
https://example.com/segment-1/segment-2/segment-3/

Example 2:
$route['auth/welcome/( : segment)'] = "authentication/index/$1";
The value "segment" can be passed to the method "index" of the class "authentication".
* Example: https://example.com/auth/welcome/Jack
  displays: Welcome, Jack !

Example 3:
$route['photos/( : segment)/( :any)'] = "photos/catalogs_$1/id_$2";
The value "#segment" can be passed to the "#catalogs_&1" method of the "#photo" class, after which this value becomes the " #catalogs_***" method, and the value from "#:any" is passed to the ready method "#catalogs_****".
* Example: https://example.com/photos/cats/1
  Displays photos whose ID=1, from catalogue under the name cats...

P.S. If somewhere is wrong please correct me, I may be confused with CI4.

Sorry Guys,

i wrote a mistake.

$route['mf'] = 'mf/index';

This line above does not work! here we have the method (mf) and the index page of the method where should appear the "Form Page".

When i try to access this page, http://localhost/poll/mf  i see 404 Page Not Found

You say that you want to go to the url with segments "poll/mf", and then write in routs the following
$route["mf"] = "mf/index";
this is not the right way...

So you can type in the address bar of your browser https:://example.com/poll/mf
you need to change the route to the following:
$route["poll/mf"] = "mf";
and then you will have a controller with the class "mf" and its method "index()"
The index method in a controller is always called as a default.

So you only need the controller name when calling an index method.
(07-23-2019, 09:04 AM)Digital_Wolf Wrote: [ -> ]
(07-23-2019, 05:44 AM)Porto Wrote: [ -> ]
(07-23-2019, 03:03 AM)Digital_Wolf Wrote: [ -> ]I'm not exactly sure what you want to do, but maybe it will help:

Example 1:
$route['{segment-1} / {segment-2} / {segment-3}']
will be converted to:
https://example.com/segment-1/segment-2/segment-3/

Example 2:
$route['auth/welcome/( : segment)'] = "authentication/index/$1";
The value "segment" can be passed to the method "index" of the class "authentication".
* Example: https://example.com/auth/welcome/Jack
  displays: Welcome, Jack !

Example 3:
$route['photos/( : segment)/( :any)'] = "photos/catalogs_$1/id_$2";
The value "#segment" can be passed to the "#catalogs_&1" method of the "#photo" class, after which this value becomes the " #catalogs_***" method, and the value from "#:any" is passed to the ready method "#catalogs_****".
* Example: https://example.com/photos/cats/1
  Displays photos whose ID=1, from catalogue under the name cats...

P.S. If somewhere is wrong please correct me, I may be confused with CI4.

Sorry Guys,

i wrote a mistake.

$route['mf'] = 'mf/index';

This line above does not work! here we have the method (mf) and the index page of the method where should appear the "Form Page".

When i try to access this page, http://localhost/poll/mf  i see 404 Page Not Found

You say that you want to go to the url with segments "poll/mf", and then write in routs the following
$route["mf"] = "mf/index";
this is not the right way...

So you can type in the address bar of your browser https:://example.com/poll/mf
you need to change the route to the following:
$route["poll/mf"] = "mf";
and then you will have a controller with the class "mf" and its method "index()"

Thank you so much Digital. i got you point!