CakePHP - Redirect Routing


Redirect routing is useful when we want to inform client applications that this URL has been moved. The URL can be redirected using the following function.

static Cake\Routing\Router::redirect($route, $url, $options =[])

There are three arguments to the above function −

  • A string describing the template of the route.

  • A URL to redirect to.

  • An array matching the named elements in the route to regular expressions which that element should match.


Make Changes in the config/routes.php file as shown below. Here, we have used controllers that were created previously.


   use Cake\Core\Plugin;
   use Cake\Routing\RouteBuilder;
   use Cake\Routing\Router;

   Router::scope('/', function (RouteBuilder $routes) {
      $routes->connect('/generate2', ['controller' => 'Tests', 'action' => 'index']);

Execute the above example by visiting the following URLs.

  • URL 1 — http://localhost:85/CakePHP/generate_url

  • URL 2 — http://localhost:85/CakePHP/generate1

  • URL 3 — http://localhost:85/CakePHP/generate2

Output for URL 1

Generates Routing

Output for URL 2

You will be redirected to

Output for URL 3

Generates Routing