O problema é que o seu roteador (uma casa ou o SoHo que eu presumo) não irá portar para frente na interface interna.
O que está acontecendo segue as seguintes linhas:
- O PC na sua LAN faz uma pesquisa de DNS para o seu site e obtém o endereço IP público do seu Roteador
- O navegador da Web envia suas solicitações na porta 80 para seu endereço IP público
- Seu roteador obtém a solicitação em sua interface interna e, como não tem nenhum recurso de encaminhamento de porta nessa interface, envia-a para seu próprio site ou simplesmente a descarta, em vez de encaminhá-la para seu servidor da Web.
Para contornar isso, você terá que usar o endereço IP local do seu servidor web - você deve colocar isso em seus Hosts arquivo para que você ainda possa acessá-lo usando seu URL em vez do endereço IP para permitir que os hosts virtuais funcionem.
Por exemplo, adicione a linha www.mygreatwebsite.com 192.168.1.10
para o seu arquivo hosts (naturalmente inserir os seus dados reais) e usar www.mygre ... em vez do endereço IP de modo que quando pedido HTTP de seu navegador atinge Apache ele recebe o URL de modo virtual hosts podem funcionar.