当前位置: 首页 > 文档资料 > CakePHP 入门教程 >

重定向路由(Redirect Routing)

优质
小牛编辑
134浏览
2023-12-01

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

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

上述功能有三个参数 -

  • 描述路径模板的字符串。

  • 要重定向到的URL。

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

例子 (Example)

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://xnip.cn/');
      $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的输出

生成路由

URL 2的输出

您将被重定向到http://xnip.cn

URL 3的输出

生成路由