重定向路由(Redirect Routing)
优质
小牛编辑
130浏览
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