Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot
Linux: Slack Angel ...
Por leaf



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper
Linux: Tux transtornado
Por vitoxer

Dica

Utilizando "URL Amigável" no Apache
Linux user
Publicado por Denis Akao em 23/10/2008

Login: Denis Akao, 4246 pontos Homepage: www.wvcomunicacao.com.br
[ Hits: 3538 ]

Utilizando "URL Amigável" no Apache

Uma das coisas muito legais que dá para fazer com Apache é reescrever as URLs de seu site. Por exemplo:

http://meusite.com.br/titulo-da-pagina

Ao invés de:

http://meusite.com.br/?id=32&cat=5

É muito mais fácil para as pessoas guardarem as URLs e também é uma forma de melhorar a relevância de seu site nos buscadores (como o Google por exemplo).

Estou supondo que você já tem o apache instalado, caso não tenha abra o terminal e digite:

$ sudo apt-get install apache2 php5
$ sudo apt-get install libapache2-mod-auth-mysql php5-mysql
$ sudo apt-get install mysql-server-5.0 mysql-client


Ativando mod_rewrite no Apache

Crie um Link simbólico para o mods-enabled:

$ sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/

Abra com seu editor de texto preferido o seguinte arquivo:

$ sudo gedit /etc/apache2/sites-available/default

Localize a seguinte sintaxe:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   allow from all
</Directory>

Troque agora:

AllowOverride None

Por:

AllowOverride All

Pronto, está feito, você agora já pode reescrever suas URLs através de um .htaccess.

Exemplo de .htaccess

Você deve criar um arquivo .htaccess no diretório raiz de seu site. Exemplo de arquivo .htaccess:

RewriteEngine On

RewriteRule ^([A-Za-z0-9_\-]+)\.html$ ./?pg=$1&cat=conteudo

Fazendo isso eu estou substituindo:

http://localhost/?pg=qualquer_coisa&cat=conteudo

Por:

http://localhost/qualquer_coisa.html

Espero que tenha sido útil para vocês.

Abraços e até o próximo artigo.


Outras dicas deste autor
Nenhuma dica encontrada.

Leitura recomendada
   Dica Linux recomendada Busque suas dúvidas no VOL e ganhe tempo
   Dica Linux recomendada Instalando o Automatix2 no Debian 4.0 Etch
   Dica Linux recomendada Colocando programas no system tray
   Dica Linux recomendada Usando o comando find para encontrar arquivos criados a mais de N minutos
   Dica Linux recomendada Configuração de internet e rede no Ubuntu 9.04 Desktop

Comentários
[1] Comentário enviado por Carl Robers em 24/10/2008 - 13:33h:

Legal cara, não é de hoje que queria fazer isto, então fiz hoje, no entanto apareceu-me um erro, o erro 500 <b>Internal Server Error</b>.

No meu caso o parâmetro não se chama pg e sim p então somente mudei isto e removi o &cat=conteudo, no final das contas ficou assim:

RewriteEngine On
RewriteRule ^([A-Za-z0-9_\-]+)\.php$ ./?p=$1&cat=conteudo


para esta URL: http://localhost/?p=noticias

que pode ficar assim

http://localhost/index.php?p=noticias

tem alguma regra em mente?

[2] Comentário enviado por Denis Akao em 24/10/2008 - 13:52h:

Carlos, essa regra que você definiu
^([A-Za-z0-9_\-]+)\.php$ ./?p=$1&cat=conteudo

está dizendo que para todas as paginas que forem "link.php" ela vai re-inderizar para o link "./?p=link&cat=conteudo"
entendeu?
imagine a seguinte situação, você tem um link "http://localhost/index.php?p=noticias" não seria melhor se esse link fosse "http://localhost/noticias/" ???
então você faria assim:
RewriteRule ^([A-Za-z0-9_\-]+)\/$ ./?p=$1&cat=conteudo

Ai no seu arquivo .php você chama a URL como "http://localhost/noticias/" mesmo!! o apache vai entender que você na verdade quer chamar a página "http://localhost/index.php?p=noticias" entendeu??
Qualquer coisa posta ai de novo que eu tento esclarecer melhor.
Abraços


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.