Basicamente você pode fazer qualquer coisa com o XAMPP que você possa fazer com qualquer outra instalação do Apache. A primeira coisa a saber é que os arquivos de configuração do Apache para uma instalação padrão do XAMPP estão em c: \ xampp \ apache \ conf e C: \ xampp \ apache \ conf \ extra
A webroot padrão é, como você mencionou, c: \ xampp \ htdocs como definido pelos arquivos de configuração acima, o diretório phpMyAdmin nada mais é do que um alias padrão do Apache que faz o / phpMyAdmin procurar em "c: \ xampp \ phpmyadmin \ "por seus arquivos.
Você tem várias opções, dependendo do que você entende por público versus privado (suponho que você queira proteger por senha os arquivos privados). Você pode usar um alias, ou você pode até configurar um vhost / servidor inteiramente novo, eu vou postar links para alguma documentação e um exemplo muito básico abaixo.
- Hosts virtuais Apache (c: \ xampp \ apache \ conf \ extra \ httpd-vhosts.conf)
- Apache Mod_alias
- Núcleo do Apache - Diretório
A forma mais simples de realizar o que você deseja seria criar uma pasta na raiz c: \ xampp chamada "private" - "c: \ xampp \ private \" e editar o c: \ xampp \ apache \ conf \ arquivo extra \ httpd-xampp.conf com uma linha:
Alias /private "/xampp/private"
Se você quiser protegê-lo com senha ou fornecer outras diretrizes especiais, siga essa linha com um bloco de diretório:
<Directory "/xampp/private">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /xampp/htpasswd-private
Require user foo
</Directory>
Sempre que você fizer alterações nesses arquivos, será necessário reiniciar o Apache para que eles entrem em vigor.