Маршрутизация перенаправления полезна, когда мы хотим сообщить клиентским приложениям, что этот URL был перемещен. URL может быть перенаправлен с помощью следующей функции.
static Cake\Routing\Router::redirect($route, $url, $options =[])
Есть три аргумента для вышеуказанной функции —
-
Строка, описывающая шаблон маршрута.
-
URL для перенаправления на.
-
Массив, сопоставляющий именованные элементы в маршруте с регулярными выражениями, которым этот элемент должен соответствовать.
Строка, описывающая шаблон маршрута.
URL для перенаправления на.
Массив, сопоставляющий именованные элементы в маршруте с регулярными выражениями, которым этот элемент должен соответствовать.
пример
Внесите изменения в файл config / rout.php, как показано ниже. Здесь мы использовали контроллеры, которые были созданы ранее.
конфиг / routes.php
<?php use Cake\Core\Plugin; use Cake\Routing\RouteBuilder; use Cake\Routing\Router; Router::defaultRouteClass('DashedRoute'); Router::scope('/', function (RouteBuilder $routes) { $routes->connect('/generate2', ['controller' => 'Tests', 'action' => 'index']); $routes->redirect('/generate1','http://tutorialspoint.com/'); $routes->connect('/generate_url',['controller'=>'Generates','action'=>'index']); $routes->fallbacks('DashedRoute'); }); Plugin::routes();
Выполните приведенный выше пример, посетив следующие URL-адреса.
-
URL 1 — http: // localhost: 85 / CakePHP / generate_url
-
URL 2 — http: // localhost: 85 / CakePHP / generate1
-
URL 3 — http: // localhost: 85 / CakePHP / generate2
URL 1 — http: // localhost: 85 / CakePHP / generate_url
URL 2 — http: // localhost: 85 / CakePHP / generate1
URL 3 — http: // localhost: 85 / CakePHP / generate2
Выход для URL 1
Выход для URL 2
Вы будете перенаправлены на http://tutorialspoint.com