20

I need to have two VirtualHosts with the same listen port for different projects and with different logs. Here's what I've got:

<VirtualHost *:80>
        DocumentRoot /home/projects/smk
        ErrorLog /var/log/apache2/smk-error.log
        RedirectMatch ^/$ /cms
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>
zb226
  • 9,586
  • 6
  • 49
  • 79
ZiTAL
  • 3,466
  • 8
  • 35
  • 50

2 Answers2

34

Add different ServerName directive in all virtual hosts:

<VirtualHost *:80>
        ServerName dev.localhost
        DocumentRoot /home/projects/smk/cms
        ErrorLog /var/log/apache2/smk-cms-error.log
</VirtualHost>

<VirtualHost *:80>
        ServerName my-project.localhost
        DocumentRoot /home/projects/smk/deploy
        ErrorLog /var/log/apache2/smk-deploy-error.log
</VirtualHost>

Don't forget to add host-entries for dev.localhost and my-project.localhost in /etc/hosts to 127.0.0.1 or whatever ip you want it to point to.

Ashwini Dhekane
  • 2,280
  • 14
  • 19
  • Just to add, it's required to add `NameVirtualHost *:80` in `httpd.conf` file. This was commented by default (Apache/2.2.34 (Unix)) – Ashwani Agarwal Sep 12 '18 at 09:12
0

ServerName my-project.localhost DocumentRoot /home/projects/smk/deploy ErrorLog /var/log/apache2/smk-deploy-error.log

//Try adding Error document

ErrorDocument 404 404.html

There is a need to create a feedback in your application.

Asuquo12
  • 827
  • 17
  • 26