Habilitando o arquivo .htaccess para reescrever o caminho (não está funcionando)

17

Todos os tutoriais me dizem para editar o: /etc/apache2/sites-available/defaultmas este arquivo não existe para mim. Dentro deste arquivo, eu teria que editar o:

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
#AllowOverride All
#AllowOverride AuthConfig FileInfo Indexes Limit Options=All, MultiViews        
Order allow,deny
allow from all </Directory>

Como deve ser o arquivo e eu mesmo devo criá-lo?

Também eu tenho um 000-default.confarquivo, mas o 'código' acima também não está lá.

no controle
fonte

Respostas:

59

Para o apache versão 2.4 e posterior, é necessário ir para

/etc/apache2/apache2.conf

Você precisa editar esse arquivo (você deve ter permissão de root). Mude o texto do diretório como este;

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Agora reinicie o apache.

service apache2 restart

Espero que funcione.

Nabil
fonte
Você pode explicar o que isso faz? Como isso se relaciona com o .htaccess? Meu .htaccess em não ser lido.
chx101
11
A linha importante aqui é que AllowOverride Allisso significa que todas as configurações podem ser definidas (substituídas) nos .htaccessarquivos. Veja docs: httpd.apache.org/docs/2.4/mod/core.html#allowoverride
jacwah 27/11/18
18

No Ubuntu 14.04 (e Apache 2.4), o DocumentRoot padrão foi alterado de / var / www para / var / www / html.

primeiro, habilite o a2enmod

sudo a2enmod rewrite 

e

sudo service apache2 restart

sudo nano /etc/apache2/sites-enabled/000-default.conf

adicione essas linhas no final

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

e

sudo service apache2 restart
alicanozkara
fonte
11
Esta solução funciona para mim porque, primeiro, preciso ativar o mod_rewrite. Muito obrigado.
Kishor10d 29/09/17
11
Isso realmente funcionou para o apache 2.4. Salvou o meu dia. Mesmo depois de editar o maing apache2.conf .htaccess não funcionou, mas dessa maneira funcionou.
Faisal Sarfraz
9

Se você não deseja repetir a mesma configuração a cada atualização / atualização

A melhor maneira é:

Edite ou crie um arquivo de configuração

/etc/apache2/conf-available/httpd.conf

Adicionar

<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>

Habilite o arquivo de configuração

sudo a2enconf httpd

Reinicie ou recarregue o Apache

sudo service apache2 restart

ou

sudo service apache2 reload

Está feito!

zatamina
fonte