Apache – Habilitando módulo rewrite

Habilitando e configurando a utilização do módulo mod_rewrite

bidelaApacheUma coisa que sempre faço, mas sempre esqueço como fazer é habilitar o mod_rewrite do Apache.
Para quem não conhece, esse é um módulo do Apache que utiliza um mecanismo baseado em regras de reescrita (baseadas em um par de expressões regulares), esse recurso é muito utilizado pelo WordPress na função do link permanente.
Basicamente o módulo permite a reescrita de URL’s.

Para habilitar o módulo no Apache não há dificuldades, já que este modulo vem instalado com o Apache, pelo menos na distribuição Debian.

Três passos serão necessários para que o modulo entre em vigor.

  1. Habilitar o  modulo no Apache:

    sudo a2enmod rewrite
  2. Editar o arquivo Virtualhost, eu prefiro realizar esse procedimento em cada site e não aplica-lo no arquivo virtualhost default:

    sudo gedit /etc/apache2/sites-available/default

    Procure no seu arquivo a entrada “AllowOverride None”, no meu caso estava na linha 11.
    Altere esse valor para “AllowOverride All” .

     1 <VirtualHost *:80>
     2 # The ServerName directive sets the request scheme, hostname and port that
     3 # the server uses to identify itself. This is used when creating
     4 # redirection URLs. In the context of virtual hosts, the ServerName
     5 # specifies what hostname must appear in the request's Host: header to
     6 # match this virtual host. For the default virtual host (this file) this
     7 # value is not decisive as it is used as a last resort host regardless.
     8 # However, you must set it for any further virtual host explicitly.
     9 #ServerName www.example.com
    10
    11  ServerAdmin     postmaster@seudomino
    12  DocumentRoot    /var/www/seusite/
    13  ServerName      seudominio
    14  ServerAlias     site.seudominio
    15
    16 #Evitando que a arvore de diretorio seja exibida
    17 <Directory /var/www/ site/>
    18   Options Indexes FollowSymLinks MultiViews
    19   AllowOverride All
    20   Order allow,deny
    21   allow from all
    22</Directory>
  3. E reiniciar o Apache.

    sudo /etc/init.d/apache2 restart

Basicamente é isso, agora já é possível reescrever URL’s.

Até.

2 comentários em “Apache – Habilitando módulo rewrite”

    1. Oi Paulo, legal vê-lo por aqui!

      Por favor, você pode informar qual a mensagem de erro que foi exibido a você?

      Acabei de testar aqui o mesmo comando para habilitar o modulo de reescrita do apache e ocorreu sem erros.

      root@intranet:~# a2enmod rewrite

      obs: caso você tenha usado o comando com sudo, na distribuição Debian esse recurso não vem instalado por padrão, sendo necessário a instalação do pacote antes de usar.

      A alternativa é logar como root e executar o comando.

      Até e Paz!

Deixe uma resposta