Versions:

Redirection

Controllers can facilitate redirecting users from one place to another using HTTP redirection using the Location HTTP header.

app/code/Page.php

$this->redirect('goherenow');
// redirect to Page::goherenow(), i.e on the contact-us page this will redirect to /contact-us/goherenow/

$this->redirect('goherenow/');
// redirect to the URL on yoursite.com/goherenow/. (note the trailing slash)

$this->redirect('http://google.com');
// redirect to http://google.com

$this->redirectBack();
// go back to the previous page.

Status Codes

The redirect() method takes an optional HTTP status code, either 301 for permanent redirects, or 302 for temporary redirects (default).

$this->redirect('/', 302);
// go back to the homepage, don't cache that this page has moved

Redirection in URL Handling

Controllers can specify redirections in the $url_handlers property rather than defining a method by using the '~' operator.

private static $url_handlers = [
    'players/john' => '~>coach'
];

For more information on $url_handlers see the Routing documenation.

API Documentation

Was this article helpful?