Trabalhando com URLs Limpas: mudanças entre as edições

De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Linha 5: Linha 5:
== Como fazer uma URL Limpa? ==
== Como fazer uma URL Limpa? ==


Para a opção de URLs limpas você tem de ter essa opção acessível no seu servidor web. Em geral isso é feito no servidor apache, ativando o módulo rewrite.
Para a opção de URLs limpas você tem de ter essa opção acessível no seu servidor web. Em geral isso é feito no servidor apache, ativando o módulo rewrite. Depois disso você tem de habilitar a opção de Urls Limpas no ambiente Drupal.
 


=== Alterando o Apache ===
=== Alterando o Apache ===
Linha 42: Linha 43:
* Agora você deve poder habilitar as URLs limpas, eliminando o ?q= em Configuração -> Busca e Metadados -> URLs Limpas.
* Agora você deve poder habilitar as URLs limpas, eliminando o ?q= em Configuração -> Busca e Metadados -> URLs Limpas.


Aproveite para conhecer e instalar os módulos XMLSitemap, PathAuto e Transliteration.  
Aproveite para conhecer e instalar os módulos XMLSitemap, PathAuto e Transliteration.


== URL Limpas com DreamHost, GODaddy and Bluehost e outros shared hosts ==
== URL Limpas com DreamHost, GODaddy and Bluehost e outros shared hosts ==

Edição das 15h59min de 8 de novembro de 2013

As URLs limpas do Drupal são a opção que ele fornece para que os caminhos a serem apresentados sejam de uma forma mais “humana”, o que facilita para quem busca uma página, e também para os indexadores de sistemas de busca, como o Google, DuckDuckGo, etc.

Um exemplo de uma URL “não-limpa” é http://www.exemplo.com.br/?q=caminho. Já uma URL limpa é http://www.exemplo.com.br/node/3854. No Drupal, podemos ligar ou desligar essa opção, sendo que ela vem desligada por padrão.

Como fazer uma URL Limpa?

Para a opção de URLs limpas você tem de ter essa opção acessível no seu servidor web. Em geral isso é feito no servidor apache, ativando o módulo rewrite. Depois disso você tem de habilitar a opção de Urls Limpas no ambiente Drupal.


Alterando o Apache

Em seu ambiente de desenvolvimento, resumidamente, você deve fazer o seguinte:

  • Acesse seu ambiente de desenvolvimento com o ssh;
  • Torne-se o usuário root;
  • Habilite o módulo rewrite do apache;
  • Exemplo:
 # a2enmod rewrite
 Enabling module rewrite.
 To to activate the new configuration, you need to run: /etc/init.d/apache2 restart
  • Edite o arquivo /etc/apache2/sites-available/default para habilitar a reescrita de URLs.
 drupal-devel# nano /etc/apache2/sites-available/default
  • Procure a linha Directory usando Ctrl+W. Acrescente logo após allow from all as seguintes linhas, conforme abaixo:
 <Directory /var/www/>
  Options Indexes FollowSymLinks MultiViews
  AllowOverride None
  Order allow,deny
  allow from all
 
  RewriteEngine on
  RewriteBase /
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 </Directory>
  • Reinicie o apache com o comando
 /etc/init.d/apache2 restart
  • Agora você deve poder habilitar as URLs limpas, eliminando o ?q= em Configuração -> Busca e Metadados -> URLs Limpas.

Aproveite para conhecer e instalar os módulos XMLSitemap, PathAuto e Transliteration.

URL Limpas com DreamHost, GODaddy and Bluehost e outros shared hosts

Bem, se você não tem acesso root ao servidor (isso é muito comum em servidores compartilhados como Dreamhost, Bluehost, etc), você pode habilitar a opção rewrite através do arquivos .htaccess. Insira o seguinte código nesse arquivo (caso não tenha o arquivo no diretório raiz do site, crie-o, cole este código e salve-o):

 <IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
 </IfModule>


Referência: https://drupal.org/getting-started/clean-urls