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


コメント

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

コメント投稿

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

ニックネーム

コメント

カテゴリ

新着備忘録

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

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

Font Awesomeでアイコン表示

Font Awesomeでアイコンを表示する方法です。

Safariのボタンが言うこと聞かない!

SafariのボタンにCSSを適用させる方法です。

Formのdateで月選択の0が気になる

Formのdateで月選択の0を消す方法です。

PHPでログインが必要なページを取り込みたい

PHPでログインが必要なページを取り込みたい時の方法です。