Eu quero definir o AllowOverride all
Mas eu não sei como fazê-lo. Encontrei o seguinte código pesquisando no google e colando-o .htaccess
:
<Directory>
AllowOverride All
</Directory>
Mas depois de colar comecei a receber "Internal Server Error"
Alguém pode me orientar onde colocar esse código ou como fazê-lo?
<Directory>
diretiva requer um argumento de caminho.Respostas:
Caso você esteja no Ubuntu, edite o arquivo
/etc/apache2/apache2.conf
(aqui temos um exemplo/var/www
):e mude para;
então,
Você também pode fazer isso
sudo a2enmod rewrite
para ativar a reescrita do módulo.fonte
sudo a2enmod rewrite
, então funcionou. No Ubuntu 14.04 LTS. Espero que seja útil para alguém.IncludeOptional conf-enabled/*.conf
na última linha do meuapache2.conf
arquivo. Mas parece que issoapache2.conf
é priorizado.O principal objetivo de
AllowOverride
é que o gerenciador dos principais arquivos de configuração do apache (aquele encontrado em / etc / apache2 / principalmente) decida qual parte da configuração pode ser alterada dinamicamente, conforme o caminho, pelos aplicativos.Se você não é o administrador do servidor, depende do nível AllowOverride permitido por esses administradores. Para que eles possam impedir que você altere algumas configurações importantes de segurança;
Se você é o gerenciador de configuração principal do apache, sempre use
AllowOverride None
e transfira todos os exemplos baseados em google_ que encontrar, com base nos arquivos .htaccess, paraDirectory
seções nos principais arquivos de configuração. Como um conteúdo .htaccess para um.htaccess
arquivo/my/path/to/a/directory
é igual a uma<Directory /my/path/to/a/directory>
instrução, exceto que a.htaccess
alteração dinâmica na configuração da solicitação por HTTP é algo que torna o servidor da Web mais lento. Sempre prefira uma configuração estática sem.htaccess
verificações (e você também evitará ataques de segurança por.htaccess
alterações).A propósito, no seu exemplo você usa
<Directory>
e isso sempre estará errado, as instruções do Diretório sempre contêm um caminho, como<Directory />
ou<Directory C:>
ou<Directory /my/path/to/a/directory>
. E é claro que isso não pode ser colocado em um.htaccess
como.htaccess
é como uma instrução Directory, mas em um arquivo presente nesse diretório. É claro que você não pode alterarAllowOverride
um,.htaccess
pois esta instrução está gerenciando o nível de segurança dos.htaccess
arquivos.fonte
Ir para
your_severpath/apache_ver/conf/
Abrir o arquivohttpd.conf
no bloco de notas.Encontre esta linha:
Remova o símbolo de hash:
Então vá para
<Directory />
e mude para:
Em seguida, reinicie o servidor local.
fonte
Order allow,deny
eAllow from all
são para o Apache 2.2 e versões anteriores. Com o Apache 2.4, essas duas linhas são substituídas por,Require all granted
como mostrado em outras respostas.No Linux, para relaxar o acesso à raiz do documento, você deve editar o seguinte arquivo:
E, dependendo do nível de diretório em que você deseja relaxar o acesso, é necessário alterar a diretiva
para
Portanto, supondo que você queira permitir acesso a arquivos no diretório / var / www / html, altere as seguintes linhas de:
para
fonte
Se você estiver usando Linux, poderá editar o código no diretório
Agora, aqui encontre a linha de código como
Altere o AllowOveride None para AllowOveride All
Agora agora você pode definir qualquer tipo de regra em seu arquivo .httacess dentro de seus diretórios, se qualquer outro sistema operacional apenas tentar encontrar o arquivo httpd.conf e editá-lo.
fonte
now here fine the code line kinda like # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit # AllowOverride None # # Controls who can get stuff from this server. #Sep 11, 2013 apache - How to Set AllowOverride all - Stack Overflow stackoverflow.com/questions/18740419/how-to-set-allowoverride-all
Eu acho que você deseja configurá-lo no seu
httpd.conf
arquivo, em vez do.htaccess
arquivo.Não tenho certeza de qual sistema operacional você usa, mas esse link para o Ubuntu pode fornecer algumas dicas sobre o que fazer.
https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles
fonte
Como outros usuários explicaram aqui sobre o uso da diretiva allowoveride, que é usada para dar permissão ao uso do .htaccess. uma coisa que quero salientar é que nunca use allowoverride all se outros usuários tiverem acesso para escrever .htaccess. Em vez disso, use allowoveride para permitir determinados módulos.
Tais como
AllowOverride AuthConfig mod_rewrite
Em vez dePorque módulos como mod_mime podem renderizar os arquivos do servidor como texto sem formatação.
fonte
Também encontrei esse problema e encontrei a solução na etapa 2 abaixo: 1. Na pasta apache2 habilitada para sites, você edita no elemento Diretório configurando "AllowOverride all" (deve ser "all" e não "none") 2. No projeto kohana na pasta www, renomeie "example.htaccess" para ".htaccess"
Eu fiz isso no ubuntu. Espero que isso ajude você.
fonte
SuSE Linux Enterprise Server
Certifique-se de editar o arquivo correto https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html
Nesse caso,
vhosts.d/*.conf
deve ser editadofonte
Além disso, essas respostas corretas votadas às vezes podem ser vistas do mesmo erro devido a configurações diferentes e incompatíveis em
SSL
parte das configurações do servidor da web . (Obviamente, quando não estiver usando o.htaccess
arquivo).fonte