Línguas

Usando mod_rewrite para converter suas urls antigas para o formado Drupal

Bom, estou trabalhando na migração de um site para drupal, este site possui diversos artigos que eram acessados através da url abaixo:

  http://www.site.com/ler.php?id=455

Ao converter para o drupal eu precisava fazer com que essas urls continuassem funcionando por causa dos buscadores e links externos onde nao temos controle, entao utilizei o módulo do apache chamado mod_rewrite, muito útil nessas situações..

editando o arquivo .htaccess no diretório root da instalação do drupal adicione a regra abaixo um pouco antes da última regra padrão do Drupal.

  RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
  RewriteRule ler.php node/%1 [L]

o comando RewriteCond define a condição para a regra ser executada, nesse caso é necessário possuir a variável id com um valor numérico. Assim quando acessarmos a url http://blog.inuar.com/ler.php?id=3 irá funcionar como se estivesse acessando a url: http://blog.inuar.com/node/3.

let's go to part 2!

bom, o recurso acima não fica tão legal porque continuaremos a utiilzar urls erradas, então vamos melhorar,

vamos agora fazer com que a regra redirecione para a nova url.


RewriteCond %{QUERY_STRING} ^id=([0-9]+)$
RewriteRule ler.php http://blog.inuar.com/node/%1? [R,L]

agora irá funcionar assim:

http://blog.inuar.com/ler.php?id=3 irá redirecionar para http://blog.inuar.com/node/3

lindo não :)

Comentários

Comentar

  • Quebras de linhas e parágrafos são feitos automaticamente.

Mais informações sobre as opções de formatação