Olá, Galera! Depois de apanhar um pouquinho do CakePHP pra colocar ele em um subdomínio em meu servidor, achei um tutorial no Bakery ensinando como fazer. Lendo o texto, vi que além da maneira explicada no tutorial de como fazer, existe também uma outra maneira explicada em um dos comentários dos usuários, que também funciona perfeitamente.
Então, a seguir mostrarei como colocar seu CakePHP 1.2 para funcionar em um subdomínio tal como: www.seusite.dominio.com.br
O exemplo do tutorial do Bakery sugere o seguinte:
Tomando como exemplo que a página inicial do seu site seja a página de usuários, você deverá fazer o seguinte:
// dentro do arquivo users_controller.php<br /><br />function view($unique_title){ <br /> $this->set('users', $this->User->findByUniqueTitle($unique_title) ); <br />}<br /><br />// no arquivo /app/config/routes.php<br /><br />Router::connect('/user/*', array('controller' => 'user', 'action' => 'view'));<br /><br />// no arquivo app/config/bootstrap.php <br /><br />$subdomain = substr( env("HTTP_HOST"), 0, strpos(env("HTTP_HOST"), ".") ); <br />if( strlen($subdomain)>0 && $subdomain != "www" ) { <br /> $_GET["url"] = "user/" . $subdomain . "/" . (isset($_GET["url"]) ? $_GET["url"] : ""); <br />}
Fazendo isto, ao acessar www.seusite.seudominio.com.br, você será redirecionado para a página principal dos usuários. Lembrando que você deverá também criar seu arquivo de model em app/models/user.php
Agora veremos o segundo exemplo, que foi o que eu achei mais interessante, que ao invés de redirecionar para um controller específico, redireciona o usuário para a página principal do site. Segue abaixo:
// em seu arquivo /app/config/bootstrap.php<br /><br />$url_parts = explode('.', env('HTTP_HOST'));<br />foreach($url_parts as $part)<br />{<br /> if(!in_array($part, array('www', 'example', 'com')))<br /> {<br /> $ident = $part;<br /> }<br />}
Com apenas isto, você já pode usar seu subdomínio com o CakePHP 1.2.
Abraços e até a próxima!







