DirectoryIndex funciona en htaccess pero no en archivos .conf de apache2

DirectoryIndex funciona en htaccess pero no en archivos .conf de apache2

Necesito que mi instalación de Ubuntu use index.php como archivo predeterminado.

Agregado

  DirectoryIndex index.php 

a /etc/apache2/apache2.conf

Agregado

<Directory /path/to/website/root/>
    DirectoryIndex index.php 
</Directory>

a /etc/apache2/sites-available/mysite.conf seguido de habilitar y reiniciar

sudo a2ensite mysite
sudo service apache2 restart

¿Qué me perdí? Aún así, el servidor no cargará un archivo predeterminado.

NOTA: Agregar DirectoryIndex index.phpa .htaccess causa el efecto deseado, pero preferiría hacerlo a través del archivo .conf.

Respuesta1

¿Dónde pusiste el DirectoryIndex? Agregarlo al .htaccess equivale a poner la declaración en:

<Directory /path/to/htaccess/file/>
DirectoryIndex index.php
</Directory>

así que intente agregar una declaración de directorio alrededor de DirectoryIndex. ¿Un poco hack pero probablemente funcionará? Si no intenta brindarnos mucha más información de su configuración, como toda la configuración de vhost.

Respuesta2

Hoy tuvimos un problema similar en SLES 11 SP4 con Apache 2.2 con una configuración de Apache prácticamente predeterminada. El problema fue que Apache ignoró un archivo index.html existente cuando no se invocó explícitamente en la URL. por ejemplo servidor.dominio.tld/dir/

Sin embargo, si se llama con un archivo explícito, muestra el contenido. por ejemplo, servidor.dominio.tld/dir/index.hmtl. entonces no hubo ningún problema con los permisos del sistema de archivos. Todos los archivos bajo htdocs tenían permisos suficientes para el grupo OTROS. PERO todos los archivos htdocs en aquel entonces eran propiedad de root.root. Entonces, en este "Modo", Apache no sirvió index.html si no se menciona en la URL.

En el momento en que volvimos a cambiar recursivamente el directorio htdocs y los archivos al propietario "wwwrun.www", que es "predeterminado" en SLES (suse linux Enterprise Server) sin cambiar los permisos en sí, Apache comenzó a servir index.html nuevamente, como de costumbre. esperado. No es necesario reiniciar ni hacer nada.

No puedo decir si esto es un error o una característica. Solo quería contarle lo que hemos experimentado y qué resolvió el problema.

por lo tanto, puede verificar la propiedad de sus archivos htdocs y asegurarse de que sean propiedad de la cuenta de servicio y el grupo del servidor web.

Respuesta3

Intente utilizar la directiva de ubicación en su lugar.

<Location /path/to/htaccess/file/>
    DirectoryIndex index.php
</Location>

información relacionada