よくあるアカウント登録してサブドメイン名登録すると、ユーザ専用のサイトを作成できるようにしたいがやったことがない。
サーバはEC2のAmazonLinuxを使っています。ドメインはRoute53で管理してます。 Route 53のRecord Setsで、*.hoge.comとやれば、どんなサブドメインでもhoge.comと同じように扱うことができます。 後はcakePHPのルーティングでうまく処理できれば終了なんじゃないかと思います。
AppControllerとかでサブドメインの文字列を取得して、その文字列内容に応じて処理を切り替えれば、route.phpの設定なども必要ないんじゃないでしょうか。
private function get_subdomain(){
$url = explode('.',env('HTTP_HOST'));
$this->subdomain = $url[0];
}
最初のドットまでを取得しているので、サブドメインなしとか、IPアドレスでアクセスとか、wwwアクセスとかも、最初のドットまでを取得してしまう。それを省けば大丈夫っぽい。あとは$this->subdomainの内容に応じて表示内容を変えればoKじゃないでしょうか?