Como habilitar o mod_rewrite no Apache?

156

Acabei de instalar a pilha LAMP no meu sistema Ubuntu.

O redirecionamento não está funcionando para mim. Eu não sei como consertar isso. Alguém pode me ajudar?

    
por vinoth 12.06.2011 / 15:45

2 respostas

229

Para habilitar o módulo de reescrita, execute "reescrita do módulo de ativação do apache2":

sudo a2enmod rewrite

Você precisa reiniciar o servidor da Web para aplicar as alterações:

sudo service apache2 restart

Se você planeja usar mod_rewrite em .htaccess arquivos, também é necessário ativar o uso de .htaccess arquivos alterando AllowOverride None para AllowOverride FileInfo . Para o site padrão, edite /etc/apache2/sites-available/default :

    <Directory /var/www/>
            Options Indexes FollowSymLinks MultiViews
            # changed from None to FileInfo
            AllowOverride FileInfo
            Order allow,deny
            allow from all
    </Directory>

Após essa mudança, você precisa reiniciar o Apache novamente.

por Lekensteyn 12.06.2011 / 15:49
48

Atrevo-me a adicionar uma resposta especial (como seguimento à excelente resposta acima) em relação a ubuntu 14.04 e .htaccess :

Em 14.04, o nome do arquivo de configuração padrão é alterado para 000-default.conf :

sudo gedit /etc/apache2/sites-available/000-default.conf

adicione o seguinte ao final do arquivo:

<Directory "/var/www/html">
    AllowOverride All
</Directory>

Por algum motivo, no Ubuntu 14.04 e apache2, a raiz está definida como /www/html . Se você quiser alterar a raiz do servidor da web de volta para a boa e antiga /www , open 000-default.conf e alterar

DocumentRoot /var/www/html/

para

DocumentRoot /var/www/

e depois claro que deveria ser

<Directory "/var/www">
    AllowOverride All
</Directory>
    
por davidkonrad 17.10.2014 / 15:00

Tags