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