Haga que index.html sea predeterminado, pero permita que se visite index.php si se ingresa

Tengo la siguiente línea en mi archivo .htaccess:

DirectoryIndex index.html index.php 

Cada vez que voy a index.php me lleva a index.html. ¿Es posible permitir ambos, pero deje index.html como predeterminado para los usuarios que visitan www.dominio.com?

Por defecto, DirectoryIndex está configurado a:

 DirectoryIndex index.html index.htm default.htm index.php index.php3 index.phtml index.php5 index.shtml mwindex.phtml 

Apache buscará cada uno de los archivos anteriores, en orden, y servirá el primero que encuentre cuando un visitante solicite solo un directorio. Si el servidor web no encuentra archivos en el directorio actual que coincidan con los nombres en la directiva DirectoryIndex, se mostrará una lista de directorio en el navegador, mostrando todos los archivos en el directorio actual.

El orden debe ser DirectoryIndex index.html index.php // default es index.html

Referencia: aquí .

Si está usando WordPress, ahora hay un gancho de filtro para resolver esto:

 remove_filter('template_redirect', 'redirect_canonical'); 

(Pon esto en las functions.php tu tema.php)

Esto le dice a WordPress que no redireccione index.php a la página raíz, sino que se siente donde está. De esta forma, index.html se puede asignar para que sea la página predeterminada en .htaccess y puede funcionar junto con index.php .

Estoy de acuerdo con la respuesta aceptada de @TheAlpha, Apache lee los archivos de destino de DirectoryIndex de izquierda a derecha, si el primer archivo existe, apche lo publica y, si no lo hace, el siguiente archivo se sirve como un índice para el directorio. Entonces, si tiene la siguiente Directiva:

 DirectoryIndex file1.html file2.html 

Apache servirá /file.html como índice. Tendrá que cambiar el orden de los archivos si quiere configurar /file2.html como índice.

 DirectoryIndex file2.html file1.html 

También puede establecer el archivo de índice usando RewriteRule

 RewriteEngine on RewriteRule ^$ /index.html [L] 

RewriteRule arriba reescribirá su página de inicio a /index.html, la reescritura ocurre internamente, por lo que http://example.com/ le mostrará los contenidos de index.html.

 RewriteEngine on RewriteRule ^(.*)\.html$ $1.php%{QUERY_STRING} [L] 

Coloque estas dos líneas en la parte superior de su archivo .htaccess. Mostrará .html en la URL de sus páginas .php.

 RewriteEngine on RewriteRule ^(.*)\.php$ $1.html%{QUERY_STRING} [L] 

Use esto para mostrar .php en URL para sus páginas .html.

DirectoryIndex index.html index.htm default.htm index.php index.php3 index.phtml index.php5 index.shtml mwindex.phtml

no tiene ningún medio? ¡quizás solo necesites agregar esto!

  DirectoryIndex index.php index.html index.htm  

enter image description here