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
function view($unique_title){
$this->set('users', $this->User->findByUniqueTitle($unique_title) );
}
// no arquivo /app/config/routes.php
Router::connect('/user/*', array('controller' => 'user', 'action' => 'view'));
// no arquivo app/config/bootstrap.php
$subdomain = substr( env("HTTP_HOST"), 0, strpos(env("HTTP_HOST"), ".") );
if( strlen($subdomain)>0 && $subdomain != "www" ) {
$_GET["url"] = "user/" . $subdomain . "/" . (isset($_GET["url"]) ? $_GET["url"] : "");
}
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
$url_parts = explode('.', env('HTTP_HOST'));
foreach($url_parts as $part)
{
if(!in_array($part, array('www', 'example', 'com')))
{
$ident = $part;
}
}
Com apenas isto, você já pode usar seu subdomínio com o CakePHP 1.2.
Abraços e até a próxima!