CakePHP(v2)で「https://ドメイン/ユーザーID」で各ユーザーのプロフィールページを作る方法

CakePHP(v2の話です)で会員制のサイトを作っているときに各ユーザーのプロフィールページを作ることってありますよね。
そのページのURLを、Facebookみたいに「https://www.facebook.com/ichiro_suzuki」のようにドメインの直下にユーザーIDを置いたものにしたくなったので試してみました。

routes.phpに

Router::connect('/:id', array('controller' => 'users', 'action' => 'view'));

と書いたら、飛ぶようになりました。ただこれだとhttps://oooo.com/users/のようにindexページに飛ばしたいときもプロフィールページに飛んでしまいます。なのでその前に

Router::connect('/:controller/');

と書くことで末尾にスラッシュがある場合はindexページに飛ぶようにしました。

まとめるとroutes.phpの先頭に

Router::connect('/:controller/');
Router::connect('/:id', array('controller' => 'users', 'action' => 'view'));
 
と書きます。コントローラー側では$this->request->params['id']でIDを受け取れます。

カテゴリ:CakePHP 投稿日時:2019年1月4日 20:10


コメント

コメントはまだありません。

コメント投稿

ご自由にコメントください!
※一度投稿すると削除できませんのでご注意ください。管理者の独断と偏見で削除する場合があります。コメント機能は予告なく停止する場合があります。

ニックネーム

コメント

カテゴリ

新着備忘録

CakePHP3にUpload Pluginをインストール

CakePHP3にUpload Pluginをインストールする方法です。

要素の背景にbackground-size:coverみたいに動画を配置する

要素の背景にbackground-size:coverみたいに動画を配置する方法です。

要素の背景にbackground-size:coverみたいに動画を配置する

要素の背景にbackground-size:coverみたいに動画を配置する方法です。

要素の背景にbackground-size:coverみたいに動画を配置する

要素の背景にbackground-size:coverみたいに動画を配置する方法です。

iphoneで入力フォームを選択すると画面が拡大されてしまう問題

iphoneで入力フォームを選択すると画面が拡大されてしまう問題を解決する方法