當(dāng)我們想告知客戶端程序某個(gè)網(wǎng)址已被移動(dòng)時(shí),重定向路由是很有用的??梢允褂靡韵潞瘮?shù)進(jìn)行URL重定向。
static CakeRoutingRouter::redirect($route, $url, $options =[])
上面的函數(shù)有三個(gè)參數(shù)-
描述路由模板的字符串。
一個(gè)要重定向到的URL。
一個(gè)把路由中定名元素和元素所匹配的正則表達(dá)式相搭配的數(shù)組。
修改下圖所示的config/routes.php文件。這里,我們用到了先前創(chuàng)建的控制器。
config/routes.php文件
<?php use CakeCorePlugin; use CakeRoutingRouteBuilder; use CakeRoutingRouter; 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執(zhí)行上面的例子。
URL 1 - HTTP://localhost:85/CakePHP/generate_url
URL 2 - HTTP://localhost:85/CakePHP/generate1
URL 3 - HTTP://localhost:85/CakePHP/generate2
你會被重定向到http://tutorialspoint.com
更多建議: