Preciso que minha instalação do Ubuntu use index.php como arquivo padrão.
Adicionado
DirectoryIndex index.php
para /etc/apache2/apache2.conf
Adicionado
<Directory /path/to/website/root/>
DirectoryIndex index.php
</Directory>
para /etc/apache2/sites-available/mysite.conf seguido de ativação e reinicialização
sudo a2ensite mysite
sudo service apache2 restart
O que eu perdi? Ainda assim, o servidor não carregará um arquivo padrão.
NOTA: Adicionar DirectoryIndex index.php
ao .htaccess causa o efeito desejado, mas eu preferiria fazer isso através do arquivo .conf.
Responder1
Onde você colocou o DirectoryIndex? Adicioná-lo ao .htaccess equivale a colocar a instrução em:
<Directory /path/to/htaccess/file/>
DirectoryIndex index.php
</Directory>
então tente adicionar uma instrução de diretório ao redor do DirectoryIndex. Um pouco hackeado, mas provavelmente funcionará? Se não, tente nos fornecer muito mais da sua configuração, como toda a configuração do vhost.
Responder2
Hoje tivemos um problema semelhante no SLES 11 SP4 com Apache 2.2 com uma configuração de apache praticamente padrão. O problema era que o Apache ignorava um arquivo index.html existente quando não era explicitamente chamado na URL. por exemplo, servidor.domínio.tld/dir/
Porém se chamado com arquivo explícito, ele veicula o conteúdo. por exemplo, server.domain.tld/dir/index.hmtl . então não houve problema com as permissões do sistema de arquivos. Todos os arquivos em htdocs tinham permissões suficientes para o grupo OTHERS . MAS todos os arquivos htdocs daquela época eram de propriedade de root.root . Portanto neste "Modo" o Apache não serviu index.html se não for mencionado na URL.
No momento em que alteramos recursivamente o diretório htdocs e os arquivos de volta para o proprietário "wwwrun.www", que é "padrão" no SLES (suse linux Enterprise Server) sem alterar as permissões em si, o Apache começou a servir o index.html novamente, como normalmente esperado. Não há reinicialização nem nada necessário.
não sei dizer se isso é um bug ou um recurso. só queria que você soubesse o que vivenciamos e o que resolveu o problema.
portanto, você pode verificar a propriedade dos arquivos htdocs e certificar-se de que eles pertencem à conta e ao grupo de serviço dos servidores da web.
Responder3
Tente usar a diretiva location.
<Location /path/to/htaccess/file/>
DirectoryIndex index.php
</Location>