Utilizando "URL Amigável" no Apache
Dica publicada em Linux / Introdução
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
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:
Pronto, está feito, você agora já pode reescrever suas URLs através de um .htaccess.
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.
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
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.
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?