.htaccess ignorado no servidor Ubuntu

0

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.

    
por Donald Jenkins 10.12.2011 / 10:48

2 respostas

0

Você precisa garantir que o mod_rewrite esteja ativado:

sudo a2enmod rewrite

Em seguida, reinicie o apache

    
por 10.12.2011 / 13:54
0

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.

    
por 10.12.2011 / 20:34