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]]

URL 3の出力

ルーティングの生成