Configurando VirtualHosts no Xampp

Sin comentarios »

Participei do último WorkShop PHP Extreme: PHP 5 – POO da SchoolOfNet, e após ouvir o Wesley elogiar tanto os famosos VirtualHosts resolvi também configurar meu ambiente de desenvolvimento com os VirtualHosts no apache. Como programo em Delphi também, acabo usando o mesmo ambiente para desenvolver em PHP, ou seja, desenvolvo em Windows.

Acabei acostumando a usar o XAMPP Lite, que é uma versão mais “leve” do XAMPP, mas instala tudo que eu preciso e até um pouco mais:  Apache 2.2.14 (IPv6 enabled),  MySQL 5.1.41 + PBXT engine, PHP 5.3.1, OpenSSL 0.9.8l, phpMyAdmin 3.2.4, XAMPP Control Panel 2.5.8, XAMPP CLI Bundle 1.6, Webalizer 2.21-02, msmtp 1.4.19, SQLite 2.8.17, SQLite 3.6.20, Ming 0.4.3Apache + PHP + mySQL, de forma rápida e descomplicada.

Você encontra diversos tutorias de instalação do XAMPP pela internet então não vou me preocupar com a instalação dele. Caso queira um passo a passo, indico o tutorial do Carlos Mesquita Aguiar em www.forumweb.com.br.

Só deixo aqui uma dica: no windows 7 não instale o XAMPP na pasta “Program Files” ou “Arquivos de Programas” devido a problemas de permissão de arquivos. Eu instalei o meu em “C:\XAMPP”, e vou assumir essa localização de agora em diante.

A primeira coisa a se fazer é criar os redirecionamentos internos para que o windows aponte os domínios para seu ambiente local.
O Windows possui um arquivo chamado hosts, que funciona como um DNS interno. Esse arquivo fica no diretório %windir%\System32\drivers\etc\ .

Vamos incluir no final desse arquivo os domínios que queremos apontar para nossa máquina local:

127.0.0.1  site1.meudominio.com
127.0.0.1  site2.meudominio.com

A maioria dos tutoriais que encontrei mandavam editar o de configuração do apache httpd.conf, mas no caso do XAMPP o arquivo a ser editado é o C:\XAMPP\apache\conf\extra\httpd-vhosts.conf

Nesse arquivo vamos incluir as informações abaixo:

NameVirtualHost 127.0.0.1:80
<VirtualHost *:80>
ServerName site1.meudominio.com
DocumentRoot "C:/XAMPP/htdocs/site1"
</VirtualHost>


<VirtualHost *:80>
ServerName site2.meudominio.com
DocumentRoot "C:/XAMPP/htdocs/site2"
</VirtualHost>

Onde:

* ServerName – É o nome do VirtualHost criado. Lembre-se que o nome escolhido precisa estar configurado no arquivos hosts do windows.

* DocumentRoot – Diretório raiz de seu servidor, onde estará localizado seu arquivo index.

Após fazer as alterações, reinicie o apache e abra no navegador os sites configurados, que agora estão rodando no seu servidor local.

Redirecionamento de sites com php e .htaccess

Sin comentarios »

Se você usa PHP para redirecionar seu site, saiba que é muito provável que seu site não esteja sendo corretamente indexado pelo Google.

Por default o PHP envia o código 302 que significa “recurso temporariamente movido” e isso faz com que o Googlebot não indexe o destino de seu redirecionamento.

Por exemplo, o código abaixo somente será útil se seu site está realmente em manutenção no momento:

<?php
header
('Location: http://www.foo.com/bar/');
?>

Já os comandos abaixo farão com que o Google siga o redirecionamento e indexe seu site:

<?php
header
('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.foo.com/bar/');
?>

Porém, a melhor maneira, caso seja possível, é fazer o redirecionamento através do arquivo .htaccess do Apache.

No exemplo abaixo, cada requisição para foo.com/ é redirecionada para foo.com/bar/:

#Redirect (this will result in a 301 permanently moved status code)
RedirectMatch permanent ^/$ http://www.foo.com/bar/

O uso do arquivo .htaccess é mais rápido e consome menos recursos do servidor.

Publicidad