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.8 dateの時間が日本時間にならない!

Cakephp3.8 dateの時間が日本時間にならない場合の対処法です。

ページネーションの関連モデルでの並び替え CakePHP3

CakePHP3のページネーションの関連モデルでの並び替え方法です。

スマホでもPDFをiframeで表示するPDF.js

PDF.jsで、スマホでもPDFをiframeで表示することができます。

PHPからslack APIでチャンネルにメッセージを送信する

PHPからslack APIでチャンネルにメッセージを送信する方法です。

CakePHP3にUpload Pluginをインストール

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