CakePHP - 重定向路由

当我们想要通知客户端应用程序已移动此URL时,重定向路由非常有用.可以使用以下函数重定向URL.

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

上述函数有三个参数 :

  • 描述路线模板的字符串.

  • 要重定向到的网址.

  • 一个数组,该路由与正则表达式的路径中的命名元素相匹配,该元素应匹配.

示例

config/routes.php 文件中进行更改,如下所示.在这里,我们使用了之前创建的控制器.

config/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://IT屋.com/');
      $routes->connect('/generate_url',['controller'=>'Generates','action'=>'index']);
      $routes->fallbacks('DashedRoute');
   });
   Plugin::routes();

访问以下网址执行上述示例.

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

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

  • 网址3  -  http://localhost:85/CakePHP/generate2

URL 1的输出

Generates Routing

输出对于URL 2

您将被重定向到 http://it1352.com

URL 3的输出

Generates Routing