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


コメント

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

コメント投稿

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

ニックネーム

コメント

カテゴリ

新着備忘録

「MySQL」ERROR 2013 (HY000) at line : Lost connection to MySQL server during query

MySQLでERROR 2013 (HY000) at line : Lost connection to MySQL server during queryエラーが出た。

CakePHP3 CSSやjavascriptを更新したのに反映されない!

CakePHP3でCSSやjavascriptにタイムスタンプをつける方法です。

CakePHP3のタイムゾーン設定

CakePHP3のタイムゾーン設定方法です。

Thunderbirdで同じメールが何度も届く件

Thunderbirdで同じメールが何度も届く件についてです。

CakePHP3でCSV出力

CakePHP3でCSV出力する方法です。