segunda-feira, 24 de agosto de 2009

Habilitar o mod_rewrite do Apache

Eu não sei por que mas tive até que bastante problema com esse mod_rewrite...
Mas aqui está como eu consegui resolver =)

--

O mod_rewrite é o módulo que habilita o Apache a reescrever os caminhos das páginas, baseado em algumas regras. No nosso caso, queremos que as páginas do Drupal não tenham o "?q=" na URL.

Por default, o Apache instalado pelo EasyPHP vem com este módulo desabilitado.

  1. Abra o arquivo "httpd.conf":
    • EasyPHP\conf_files\httpd.conf
    • EasyPHP\apache\conf\httpd.conf
  2. Tire o comentário (retire o símbolo #) das seguintes linhas:
    #LoadModule rewrite_module modules/mod_rewrite.so
    Fica assim:
    LoadModule rewrite_module modules/mod_rewrite.so
    * Provavelmente é a linha 109.
  3. Substitua todas as ocorrências de:
    AllowOverride None
    por:
    AllowOverride All
    * Deve ter umas 10 ocorrências em cada arquivo.
  4. Pronto!

FIX: esqueci de mencionar como habilitar o módulo Clean URLs para realmente limpar as urls do drupal:

  1. Vá para /admin/settings/clean-urls
  2. Selecione Enabled e salve.
  3. Agora sim, pronto! =D

5 comentários:

  1. Aparentemente, substituir o "AllowOverride None" para "All" dentro da tag já é o suficiente, mas não sei o porque :P

    ResponderExcluir
  2. muito bom, eu estava tentando habilitar o mod_rewrite para usar o framework CakePHP mas eu só altrava uma ocorrência, seguindo as instruções da documentação oficial (e de uns 30 blogs internet a dentro) até que vi no passo 3 deste tutorial "Substitua todas as ocorrências".

    ResponderExcluir
  3. Deu certo aqui comigo! Só não precisei de usar o Clean URLs.

    ResponderExcluir
  4. Não deu certo comigo precisei usar index.php no ínicio assim /index.php/%postname%/

    ResponderExcluir