Drupal - Trabalhando com URLs Limpas
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.
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: