Drupal - Trabalhando com URLs Limpas

De Pontão Nós Digitais

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.

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>

Habilitando URLs Limpas no Ambiente Drupal

  • Na área administrativa do Drupal, no menu primário, clique em Configurações do site.
  • Clique em URLs limpas.
  • Na nova página que se abrirá, você verá que temos o título URLs limpas, a opção de selecionar se estará ligada ou desligada. Coloque na opção desejada.
  • Feita a configuração, basta clicar no botão Salvar configurações. Se quiser retornar à configuração original, basta clicar em Restaurar as configurações padrão.

Referência: