All I want to do is map URL
/blogto/var/www/blogand the remainder of URL/to/var/www/site/index. What is the magical configuration I need for this?
Você pode fazer isso facilmente com diretiva Alias do Apache como esta. Note que vejo que você está usando o Apache 2.4.7, que pode ter uma sintaxe ligeiramente diferente do Apache 2.2 e anterior, na qual este conselho é baseado. Mas dito isso, enquanto a sintaxe pode ser um pouco diferente, mas os conceitos gerais ainda são os mesmos e estou bastante confiante de que o Apache 2.4 ainda tem a funcionalidade Alias .
Esses itens seriam definidos no arquivo de configuração do Apache do seu site principal, que estaria em /etc/apache2/sites-available/ . Agora eles podem estar em um arquivo chamado /etc/apache2/sites-available/default ou em um arquivo separado para o nome do host como /etc/apache2/sites-available/mysite.tld , portanto, verifique sua configuração antes de modificar radicalmente os arquivos.
Isso definiria todas as solicitações para http://mysite.tld/blog para obter conteúdo de /var/www/blog :
Alias /blog /var/www/blog
Isso definiria todas as solicitações para http://mysite.tld/ para obter conteúdo de /var/www/site/index :
Alias / /var/www/site/index
Agora, você só precisa do Alias /blog /var/www/blog ; esse segundo Alias / /var/www/site/index pode não ser necessário, desde que seu DocumentRoot esteja definido como /var/www/site/index .
Uma visão geral boa, simples e concisa de como as configurações de configuração do Apache funcionam pode ser encontrado neste site .