How to make Apache serve index.php instead of index.html?
Solution 1:
As others have noted, most likely you don't have .html
set up to handle php code.
Having said that, if all you're doing is using index.html
to include index.php
, your question should probably be 'how do I use index.php
as index document?
In which case, for Apache (httpd.conf), search for DirectoryIndex
and replace the line with this (will only work if you have dir_module
enabled, but that's default on most installs):
DirectoryIndex index.php
If you use other directory indexes, list them in order of preference i.e.
DirectoryIndex index.php index.phtml index.html index.htm
Solution 2:
As of today (2015, Aug., 1st), Apache2
in Debian Jessie
, you need to edit:
root@host:/etc/apache2/mods-enabled$ vi dir.conf
And change the order of that line, bringing index.php to the first position:
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
Solution 3:
PHP will work only on the .php
file extension.
If you are on Apache you can also set, in your httpd.conf
file, the extensions for PHP. You'll have to find the line:
AddType application/x-httpd-php .php .html
^^^^^
and add how many extensions, that should be read with the PHP interpreter, as you want.
Solution 4:
you can do it by two way once you set priority order like (index.php index.html ...) for set priority in files go to this directory- /etc/apache2/mods-enabled/nano dir.conf
and change the order as you wish
2-insecond way you can go to /etc/apache2/sites-available/nano abc.com.conf
and change in Documentroot directory -/var/www/abc.com/public_html/
(give file which you want like index.html or index.php)