CodeIgniter Forums
Remove controller name from the URL - Printable Version

+- CodeIgniter Forums (https://forum.codeigniter.com)
+-- Forum: CodeIgniter 4 (https://forum.codeigniter.com/forum-28.html)
+--- Forum: CodeIgniter 4 Support (https://forum.codeigniter.com/forum-30.html)
+--- Thread: Remove controller name from the URL (/thread-76188.html)



Remove controller name from the URL - eleumas - 04-20-2020

Hi, i would like remove the controller name from the URL. I have tried with the routes but i failed.
I have this URL: domain.com/main/privacy and i would like transform it in: domain.com/privacy

Thanks for help me! Smile


RE: Remove controller name from the URL - jreklund - 04-20-2020

Hi, you type your route like this:

PHP Code:
$routes->add('privacy''Main::privacy'); 

If you only wan't the method privacy to work.


RE: Remove controller name from the URL - eleumas - 04-21-2020

Hi! Thanks for your answer. I tried your code but doesn't work  Undecided
In codeigniter 3 i used this routes for remove the controller name from the URL:

PHP Code:
$route['default_controller'] = 'main';
$route['(:any)'] = "main/$1"

In codeigniter 4 what routes i have to use for remove MAIN (the controller name) from the URL? This is my Routes.php file.

PHP Code:
/**
 * --------------------------------------------------------------------
 * Router Setup
 * --------------------------------------------------------------------
 */
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Main');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(true);
$routes->set404Override();
$routes->setAutoRoute(true);

/**
 * --------------------------------------------------------------------
 * Route Definitions
 * --------------------------------------------------------------------
 */

// We get a performance increase by specifying the default
// route since we don't have to scan directories.

// $routes->get('/', 'Main::index');
$routes->add('privacy''Main::privacy'); 

Thanks  Smile


RE: Remove controller name from the URL - Gary - 04-21-2020

Try setting $indexPage='' (in \app\Config\App.php).


RE: Remove controller name from the URL - eleumas - 04-21-2020

(04-21-2020, 06:47 AM)Gary Wrote: Try setting $indexPage='' (in \app\Config\App.php).

I'm sorry, your code doesn't work  Sad


RE: Remove controller name from the URL - jreklund - 04-21-2020

To redirect everything you need an any rule.
PHP Code:
$routes->add('(:any)''Main::$1'); 

And the previous provided routes work just fine. You most likely made an error in your Main.php file.


RE: Remove controller name from the URL - eleumas - 04-22-2020

Now is all ok! Thanks.