My apache won’t load a index.php one one of my vhosts not even if I type in example.com/index.php. I have two and one works fine.
The second vhost is my issue.
Any help would be appreciated, idk what changed between apache and php version but I am missing something. Any help would be appreciated.
I am posting both vhosts below exact copies.
First one: <VirtualHost *:80> ServerAdmin webmaster@localhost ServerName domain1.com ServerAlias www.domain1.com DocumentRoot /var/www/domain1.com/htdocs DirectoryIndex index.php <Directory /> AllowOverride All </Directory> <Directory /var/www/domain1.com/htdocs> Options Indexes FollowSymLinks MultiViews AllowOverride all Require all granted </Directory> ErrorLog /var/log/apache2/domain1.com-error.log LogLevel error CustomLog /var/log/apache2/domain1.com-access.log combined
<IfModule security2_module> SecRuleEngine Off </IfModule>
Alias /ms /usr/share/phpmyadmin
<Directory /usr/share/phpmyadmin> Options FollowSymLinks DirectoryIndex index.php
<IfModule mod_php5.c> AddType application/x-httpd-php .php
php_flag magic_quotes_gpc Off php_flag track_vars On php_flag register_globals Off php_admin_flag allow_url_fopen Off php_value include_path . php_admin_value upload_tmp_dir /var/lib/phpmyadmin/tmp php_admin_value open_basedir /usr/share/phpmyadmin/:/etc/phpmyadmin/:/var/lib/phpmyadmin/:/usr/share/php/php-gettext/:/usr/share/javascript/ </IfModule>
</Directory>
<Directory /usr/share/phpmyadmin/setup> <IfModule mod_authn_file.c> AuthType Basic AuthName “phpMyAdmin Setup” AuthUserFile /etc/phpmyadmin/htpasswd.setup </IfModule> Require valid-user </Directory>
<Directory /usr/share/phpmyadmin/libraries> Order Deny,Allow Deny from All </Directory> <Directory /usr/share/phpmyadmin/setup/lib> Order Deny,Allow Deny from All </Directory>
</VirtualHost>
Second one:
<VirtualHost *:80> ServerAdmin webmaster@localhost ServerName domain2.com ServerAlias www.domain2.com DocumentRoot /var/www/domain2.com <IfModule dir_module> DirectoryIndex index.html DirectoryIndex index.php </IfModule> <Directory /> AllowOverride All </Directory> <Directory /var/www/domain2.com> Options Indexes FollowSymLinks MultiViews DirectoryIndex index.php AllowOverride all Require all granted </Directory> ErrorLog /var/log/apache2/domain2.com-error.log LogLevel debug CustomLog /var/log/apache2/domain2.com-access.log combined </VirtualHost>
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
@GrowShall
The primary difference between the two VirtualHost configurations is in your second one:
Your locking the
DirectoryIndex
definition inside anIfModule
wrapper, whereas in the first VH, you’ve defined theDirectoryIndex
just below yourDocumentRoot
definition.If the
dir_module
is not enabled, then in the second VirtualHost, theDirectoryIndex
will never be defined.–
Ideally, if your website is powered by PHP, then define
index.php
first andindex.html
second and remove theIfModule
wrapper.