programação,

URLs customizadas no servidor WAMP

Diogo Matheus Diogo Matheus Seguir 02/03/2011 · 5 minutos de leitura
URLs customizadas no servidor WAMP
Compartilhar

Neste artigo vamos personalizar o acesso a estrutura criada no último post, Preparando o ambiente para desenvolvimento com zend framework, deixando nossas urls mais simples, não é algo que vai influenciar o nosso desenvolvimento, sendo assim fique a vontade em optar por fazer ou não essa personalização de url.

Estrutura do projeto

No artigo anterior fizemos uma configuração básica para rodar uma aplicação usando zend framework, agora iremos aprender a personalizar a url de acesso dessas aplicações, configurando o wamp, vamos adicionar Alias(apelidos) para as urls, veremos dois formatos de Alias, padrão e personalizado(usando virtual hosts).

Nesse artigo o nome da aplicação será “application”.

Alias padrão

Este tipo de alias é padrão do wamp, muito simples de fazer, vamos deixar a url no seguinte formato: http://localhost/example, retirando o public, não aconselho a adicionar o Alias com o mesmo nome da aplicação, porque confunde o wamp, uma demonstração do que não devemos fazer nesse caso é adicionar um Alias http://localhost/application, porque nossa aplicação já se chama “application”.

1º – clique no ícone do wamp server » Apache » Alias directories » Add an alias

Opção de adicionar alias

2º – a tela abaixo irá aparecer para você digitar o nome do alias(apelido) que você deseja criar, no nosso caso será “example” e aperte enter.

Informando nomenclatura do alias

3º – informe o local(diretório) em que está o conteúdo que você deseja exibir através do alias, nesse caso, aproveitando a estrutura do tópico anterior, nossa aplicação se chama “application” e está dentro da pasta padrão do wamp(www), c:/wamp/www/application/public e aperte enter.

Informando diretório do alias

4º – irá aparecer a mensagem “alias criado, aperte “enter” para sair”, pronto o alias padrão está criado.

Mensagem de sucesso

5º – editando o arquivo “.htaccess”

Opção de editar .htaccess do WAMP Server

Com isso o arquivo .htaccess vai abrir no notepad, esse arquivo foi criado pela estrutura do zend framework no momento em que criamos o projeto no tópico passado, caso ele não exista por algum motivo o wamp irá perguntar se deseja cria-lo, deixe o mesmo com o conteúdo abaixo, lembrando que para esse formato de Alias, a linha RewriteBase muda de acordo com o nome dado ao Alias, para o próximo Alias que vamos apresentar(Alias Personalizado) essa linha não deve exister no arquivo .htaccess.

SetEnv APPLICATION_ENV development
 
RewriteEngine On
RewriteBase /example/
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

6º – teste o alias criado abrindo seu navegador e digitando o seguinte endereço: http://localhost/example

Página inicial do Zend Framework

O resultado deve ser a página inicial da aplicação, nesse caso a página padrão do zend framework.

Alias personalizado (Virtual hosts)

O Alias personalizado exige um pouco mais de configuração e permite remover até a chamada ao “localhost”, o resultado desse formato será, http://zf.example

1º – editar o arquivo “hosts”, localizado em C:\Windows\System32\drivers\etc, deixando o conteúdo a seguir:

# localhost name resolution is handled within DNS itself.
127.0.0.1       localhost
 
# example domain
127.0.0.1       zf.example

Para editar este arquivo é necessário permissão de administrador, caso você esteja editando pelo notepad e não conseguir salvar por cima do arquivo existente,, salve na área de trabalho e depois copie por cima do arquivo atual, assim pedirá permissão de administrador para continuar e irá funcionar, lembrando é um arquivo, não tem extensão, caso salve como .txt, remova a extensão depois de salvar, para virar ‘arquivo’.

2º – editar o arquivo “httpd.conf”, localizado em C:\wamp\bin\apache\apache2.2.6\conf

Ao abrir este arquivo, use o localizador(ctrl + f) para achar a palavra “vhosts”

Localizar palavra vhosts

Como podemos observar na imagem acima, a linha está comentada(iniciando com ‘#’), retire o ‘#’ e salve o arquivo, isso irá habilitar a configuração de virtual hosts.

Resultado após remoção do #

3º – editar o arquivo “httpd-vhosts.conf”, localizado em C:\wamp\bin\apache\apache2.2.6\conf\extra, deixando o conteúdo a seguir:

# Use name-based virtual hosting.
NameVirtualHost *:80
 
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
 
# localhost
NameVirtualHost localhost:80
<VirtualHost 127.0.0.1>
  DocumentRoot c:/wamp/www
  ServerName localhost
  ServerAlias localhost
</VirtualHost>
 
# example domain
NameVirtualHost zf.example
<VirtualHost 127.0.0.1:80>
  ServerName zf.example
  ServerAlias zf.example
  DocumentRoot c:/wamp/www/application/public
  ErrorLog "c:/wamp/www/application/public/error.log"
  CustomLog c:/wamp/www/application/public/access.log common
  <Directory "c:/wamp/www/application/public">
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_access.c>
      Order allow,deny
      Allow from all
    </IfModule>
  </Directory>
</VirtualHost>

4º – reiniciar o wamp server

Opção de reiniciar do WAMP Server

5º – Confirmando o conteúdo do arquivo .htaccess, localizado em C:\wamp\www\application\public, o mesmo deve ficar com o conteúdo seguir:

SetEnv APPLICATION_ENV development
 
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

6º – teste o alias personalizado(virtual host), abra seu navegador e digite o endereço http://zf.example

Página inicial do Zend Framework

O resultado deve ser a página inicial da aplicação, nesse caso a página padrão do zend framework.

Para adicionar outro alias personalizado(virtual host), basta editar os arquivos do 1º e 3º passo, duplicando o conteúdo abaixo de #example domain, editando o nome e localização do diretório, veja o exemplo abaixo:

Arquivo hosts

# nome domain
127.0.0.1       zf.nome

Arquivo httpd-vhosts.conf

# nome domain
NameVirtualHost zf.nome
<VirtualHost 127.0.0.1:80>
  ServerName zf.nome
  ServerAlias zf.nome
  DocumentRoot localização
  ErrorLog "localização/error.log"
  CustomLog localização/access.log common
  <Directory "localização">
    Options -Indexes FollowSymLinks MultiViews
    AllowOverride All
    <IfModule mod_access.c>
      Order allow,deny
      Allow from all
    </IfModule>
  </Directory>
</VirtualHost>