Virtual hosts not working on MAMP

I didn't find any of the answers useful, so if other suggestions don't work for you:

Consider that the virtual hosts need to be correctly enabled/included by uncommenting

Include conf/extra/httpd-vhosts.conf in C:\MAMP\conf\apache\httpd.conf and NOT in C:\MAMP\bin\apache\conf or C:\MAMP\bin\apache\conf\original .

There're multiple locations that have MAMP configuration, make sure to uncomment that line in the correctly located file.


When I first test virtual host (example.dev) I added two slightly different index.php files its directry and to localhost directory (/htdocs). My virtual host would redirect to locahost, I would know because the index.php would be the one in /htdocs. Similar to what user6166 said, I changed the code below to match the 8888 and it worked! I test example.dev:8888 and it works.

 NameVirtualHost *:8888

<VirtualHost *:8888>
    ServerName dev.local.com
    DocumentRoot /Applications/MAMP/htdocs/local
    ServerAlias dev.local.com
</VirtualHost>

<VirtualHost *:8888>
    DocumentRoot /Applications/MAMP/htdocs
    ServerName localhost
</VirtualHost>

Then to remove 8888 change above back to 80 and MAMP preferences to:

Apache Port:80
Nginx Port:8888
mySQL Port:3306

Then inside httpd.conf change below to 80:

Listen 8888
ServerName localhost:8888

Hope that helps someone, it definely fixed my problem!


Enable virtual host in the right httpd.conf Open MAMP > File > Edit template > Apache > httpd.conf

edit or add:

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

edit mamp httpd.conf


Changed the hosts file like this -

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName dev.local.com
    DocumentRoot /Applications/MAMP/htdocs/local
    ServerAlias dev.local.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot /Applications/MAMP/htdocs
    ServerName localhost
</VirtualHost>