Apache Display / Change a Default Page Other Than index.html

last updated in Categories , , , , , , , , ,

How do I display or change a default page other than index.html or index.php under Apache web server?

You need to use DirectoryIndex directive under Apache to set a default page other than index.html or index.php.


The DirectoryIndex directive sets the list of resources or file to look for, when the client requests an index of the directory by specifying a / at the end of a directory name.

Edit httpd.conf

Open your Apache configuration file httpd.conf
# vi httpd.conf

Find out line that read as follows:

Now set it as per your requirements:
DirectoryIndex index.html index.htm default.htm index.php index.pl

Save and close the file. Restart the Apache web server:
# /etc/init.d/httpd restart

Please note that if you do not have access to Apache configuration file. Add DirectoryIndex to your .htaccess file.

You can also specify php or pl dynamic script. Also note that the documents do not need to be relative to the directory. Consider following example
DirectoryIndex index.html index.pl /nav/index.php

Above would cause the php script /nav/index.php to be executed if neither index.html or index.pl existed in a directory.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin, DevOps engineer, and a trainer for the Linux operating system/Unix shell scripting. Get the latest tutorials on SysAdmin, Linux/Unix and open source topics via RSS/XML feed or weekly email newsletter.


17 comment

  1. Hi, although apache manuals contain this information, your website gives solutions for commonly sought after problems/questions. Useful indeed! Thank you.

  2. What do you to if you wanted to change your default desktop?

    A.Use the switchdesk program.
    B.Edit /etc/X11/prefdm.
    C.Open the .Xdefaults file in your home directory.
    D.Link startx to gnome-session or startkde.

  3. Just a note, you don’t have to restart the server to make these changes you can use the reload command

    /etc/init.d/apache2 reload

  4. how I can make all my php pages extenions(.php) should be shown as html extension(.html). Is there any way I can change that to .php files to .html when client acces the php pages? Please resolve the issue as soon as possible. Thanks!

Leave a Comment