3
votes

I am tried to create Multiple Virtual Hosts on my Windows 10, 64-bit, XAMPP 3.2.1 I did the following:

1- C:\Windows\System32\drivers\etc\hosts

I have added these line at the bottom of the hosts file:

127.0.0.1 smc
127.0.0.1 ocms

2- D:\xampp\apache\conf\httpd.conf

Virtual hosts is already is enabled see the following:

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

3- D:\xampp\apache\conf\extra\httpd-vhosts.conf

Here i have added the following code block on httpd-vhosts.conf file:

<VirtualHost *:80>
    DocumentRoot "D:/xampp/htdocs/"
    ServerName localhost
</VirtualHost>

<VirtualHost *:80>
    ServerName smc
    DocumentRoot "D:/vhosts/smc"
    SetEnv APPLICATION_ENV "development"
    <Directory "D:/vhosts/smc/">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName ocms
    DocumentRoot "D:/vhosts/ocms/"
    SetEnv APPLICATION_ENV "development"
    <Directory "D:/vhosts/ocms">
        DirectoryIndex index.php
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

Finally i have put both my directories in my D:/vhosts/ folder:

D:/vhosts/ocms
D:/vhosts/smc

After i have restarted my apache server and test the url like:

http://ocms

Or

http://smc

It returns the following error:

Access forbidden!

You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.

If you think this is a server error, please contact the webmaster.
Error 403
ocms
Apache/2.4.12 (Win32) OpenSSL/1.0.1l PHP/5.6.8 

I have googled it too many times for last three to four days and also followed some other posts on stackoverflow i.e. how to create virtual host on XAMPP but with no luck. Please let me know what i am missing. Thanks

2

2 Answers

0
votes

Ok i have done it. i had to put all my directories under the htdocs folder like this. structure should be:

D:\xampp\htdocs
D:\xampp\htdocs\test\smc
D:\xampp\htdocs\test\ocms

Thank you all for your precious time

0
votes

Your initial settings works fine for me.

I think your problem was that the index was missing.

This line will force Apache to accept only index.php file as entry point:

DirectoryIndex index.php

However, if your entry point has a different name or extension you get the error:

You don't have permission to access the requested directory. There is either no index document or the directory is read-protecte