Você precisa garantir que o mod_rewrite esteja ativado:
sudo a2enmod rewrite
Em seguida, reinicie o apache
Estou tendo um problema com um arquivo .htaccess
em um servidor Ubuntu recém-instalado executando o Apache2.
O arquivo .htaccess no diretório onde os arquivos do WordPress estão localizados não está sendo levado em conta quando o servidor carrega as páginas. Não há uma instrução AllowOverride
no arquivo apache2.conf, mas o padrão é All
e não muda nada se eu incluir um.
Eu tentei incluir o conteúdo do arquivo .htaccess
local em uma seção. Eu também tentei isso:
<Directory /var/www/mydomain.com/html>
AllowOverride All
</Directory>
Eu também tentei alterar todas as instâncias de AllowOverride
em / etc / apache2 / sites-available / default (que são definidas como None
por padrão) para All
.
Mas eu não tive sorte.
Não sei como resolver este problema.
Eu trabalhei o que era desde que eu abri esta discussão: havia dois problemas que eu teria pensado que surgiria em qualquer configuração LAMP vanilla instalado de acordo com o Media Temple Knowledgebase article (que é o que eu usei para configurar o (ve) servidor ).
Primeiramente, foi o módulo de reescrita. Parece que meus arquivos .htaccess
não estavam sendo lidos pelo servidor porque um módulo de reescrita precisa ser ativado: esse parece ser o padrão em uma instalação nova, como a que acabei de realizar. Quem sabia?
Habilitar o módulo é bem simples: eu só precisava fazer um link simbólico para o arquivo rewrite.load
do diretório mods-available para o diretório mods-enabled (todos encontrados, neste exemplo, no diretório apache2, em /etc/apache2
).
Ran o seguinte:
$ cd /etc/apache2/mods-enabled
$ ln -s /etc/apache2/mods-available/rewrite.load rewrite.load
Em segundo lugar, concluí que também preciso alterar todas as instâncias de AllowOverride
em /etc/apache2/sites-available/default
(que estão definidas como None
por padrão) para All
(consulte este artigo que explica a questão).
Finalmente, foi a questão de como aplicar as regras. Na verdade, escolhi excluir meu arquivo .htaccess e colocar todas as regras em uma seção <Directory>
em http.conf
(que agora é um arquivo separado ainda chamado em apache2.conf e que usarei para incluir todas as minhas personalizações) , porque definir AllowOverride
para None
e confiar em apache2.conf
para tudo induz um aumento na velocidade, pois o servidor não precisa mais verificar um arquivo .htaccess
em todos os níveis antes de carregar uma página. Em seguida, excluí a .htaccess
, defina AllowOverride
a None
e as regras ainda são carregadas corretamente.