Cakephp-redirect-routing
提供:Dev Guides
CakePHP-リダイレクトルーティング
リダイレクトルーティングは、このURLが移動されたことをクライアントアプリケーションに通知する場合に役立ちます。 URLは、次の関数を使用してリダイレクトできます。
static Cake\Routing\Router::redirect($route, $url, $options =[])
上記の関数には3つの引数があります-
- ルートのテンプレートを説明する文字列。
- リダイレクト先のURL。
- ルートの名前付き要素を、その要素が一致する必要がある正規表現に一致させる配列。
例
以下に示すように、 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://finddevguides.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の出力
URL 2の出力
[[1]]