Você tem de reiniciar o apache para tornar as regras re-escrita no efeito take .htaccess?
-
02-07-2019 - |
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.
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 tipodeny 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.