Учебники

CakePHP — перенаправить маршрутизацию

Маршрутизация перенаправления полезна, когда мы хотим сообщить клиентским приложениям, что этот 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