By GrowShall
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>
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
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.
The primary difference between the two VirtualHost configurations is in your second one:
<IfModule dir_module>
DirectoryIndex index.html
DirectoryIndex index.php
</IfModule>
Your locking the DirectoryIndex definition inside an IfModule wrapper, whereas in the first VH, you’ve defined the DirectoryIndex just below your DocumentRoot definition.
If the dir_module is not enabled, then in the second VirtualHost, the DirectoryIndex will never be defined.
–
Ideally, if your website is powered by PHP, then define index.php first and index.html second and remove the IfModule wrapper.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Scale up as you grow — whether you're running one virtual machine or ten thousand.

From GPU-powered inference and Kubernetes to managed databases and storage, get everything you need to build, scale, and deploy intelligent applications.
