A regra mod_rewrite não está funcionando no host virtual. Eu queria isso para cakephp.
Existe configuração para adicionar no arquivo host virtual?
A regra mod_rewrite não está funcionando no host virtual. Eu queria isso para cakephp.
Existe configuração para adicionar no arquivo host virtual?
Respostas:
Se você estiver usando a versão mais recente do apache 2.4+, aqui está o processo de habilitação do mod_rewrite.
Vá para etc/apache2/
Abrir apache2.conf
usando seu editor de texto favorito.
mudança
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
para
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Então salve. Lembre-se de que você deve ter permissão de root para editar e salvar este arquivo.
Agora reinicie o apache.
service apache2 reload
Este processo habilitará o mod_rewrite para o servidor apache, incluindo host virtual.
Você também pode verificar se está ativado ou não. Crie um script php
<?php
phpinfo();
?>
Carregue-o do servidor. Na Loaded Modules
seção, verifique se mod_rewrite
existe ou não. Se estiver lá, está ativado.
Ative a reescrita usando
# sudo a2enmod rewrite
Em seguida, reinicie o apcahe2 usando
# service apache2 restart
Ative no Virtualhost adicionando
AllowOverride FileInfo
Em seguida, reinicie o apcahe2 usando
# service apache2 restart
exemplo :
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
# I Have below line from none to FileInfo
AllowOverride FileInfo
Order allow,deny
allow from all
</Directory>
apache2.conf
e reiniciar oapache
404 desapareceu, mas todas as páginas voltaram à página inicial!phpinfo()
também não tinha omod_rewrite
módulo ativado. Em seguida, executando o comando CLI (como sugerido por Lonston abaixo) tudo ficou dourado! Por que esta solução nãomod-rewrite
ativou o módulo para mim, mas o approad da CLI? Isso é uma combinação de modificar.conf
e executar o comando da CLI um após o outro para ativar o módulo ou qualquer um deles é realmente suficiente?