Pergunta

Eu empurrei meus arquivos .htaccess para os Severs de produção, mas eles não funcionam. Seria um reinício ser o próximo passo, ou devo verificar outra coisa.

Foi útil?

Solução

Uma reinicialização é não necessário para mudanças em .htaccess. Outra coisa é errado.

Verifique se o seu .htaccess inclui a declaração

RewriteEngine on

que é necessário mesmo que seja também presente em httpd.conf. Verifique também se .htaccess é legível pelo processo httpd.
Verifique o error_log - ele vai dizer de quaisquer erros no .htaccess se ele está sendo usado. Colocar um erro de sintaxe intencional no .htaccess é uma boa verificação para garantir que o arquivo está sendo usado -. Você deve obter um erro 500 em qualquer página no mesmo diretório

Por fim, você pode ativar um log reescrita usando comandos como o seguinte em seu httpd.conf:

RewriteLog "logs / RewriteLog"

RewriteLogLevel 7

O arquivo de log gerado deste modo dar-lhe a detalhes sangrentos dos quais regras de reescrita combinado e como eles foram tratados.

Outras dicas

Sem :

Apache permite a gestão descentralizada da configuração através de arquivos especiais colocadas dentro da árvore web. Os arquivos especiais são geralmente chamados .htaccess, mas qualquer nome pode ser especificado no AccessFileName directiva ... Desde arquivos .htaccess são lidos em cada solicitação, as alterações feitas nesses arquivos têm efeito imediato ...

A partir da documentação do Apache: Mais comumente, o problema é que AllowOverride não está definida de tal forma que suas diretivas de configuração estão sendo honrados. Certifique-se que você não tem um Nenhum AllowOverride em vigor para o escopo do arquivo em questão. Um bom teste para isso é colocar lixo em seu arquivo .htaccess e recarga. Se um erro de servidor não é gerado, então você quase certamente tem AllowOverride None em vigor.

Apenas se você tiver não adicionado o módulo mod_rewrite para Apache.

Você só precisa reiniciar o Apache se você alterar qualquer Apache ".conf" arquivos.

Eu tenho o mesmo problema e parece PiedPiper post sobre AllowOverride foram mais útil. Verifique se o seu arquivo httpd.conf para "AllowOverride" e verifique se ele está definido para Todos.

Em caso de reinício .htaccess não é necessária se ele não está funcionando razões prováveis ??incluem.

  • AllowOverride não pode ser definido qual o usuário pode definir dentro httpd.conf ou pode ter de administrador do servidor contato.

  • Verifique o nome do arquivo de .htaccess deve ser .htaccess não htaccess.txt ver aqui para guia de como criar um.

  • Tente usar Options -Indexes ou tipo deny all da Directiva simples para ver se ele está funcionando ou não.

  • clara cache do navegador sempre que se ter regra para redirecionamentos ou similar se redirecionamento anterior é armazenada em cache ele aparece como se as coisas não estão funcionando.

O que está em seu .htaccess? RewriteRules? Verifique se o mod_rewrite está instalado e habilitado.

Outro material? Tente definir AllowOverride para 'todos' nesse diretório.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top