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 :)