Configuration of Apache virtual host
Question: In the httpd.conf file, DocumentRoot is modified to "G:\PHPWeb"(listening port is still 80), but after entering "localhost" directly in the browser, the index.html in G: \Apache\Apache24\httdocs is returned instead of G:\PHPWeb\index.php. or "You don't have permission to access..." error prompt appears.
Reason: Apache defaults to port 80 and the default virtual directory is G: \Apache\Apache24\httdocs. Even if DocumentRoot is changed to G:\PHPWeb in httpd.conf, Apache will still forward the request to index in the virtual directory.
Workaround: Open the file: G:\Apache\Apache24\conf\extra\httd-vhosts.conf (virtual host configuration file) Find it
#DocumentRoot "${SRVROOT}/htdocs"
#ServerName www.example.com:80
Amend to read
DocumentRoot "G:\PHPWeb"
#ServerName www.example.com:80
That's it.
Apache supports multiple websites by configuring multiple virtual hosts.