/etc/httpd/conf.d/vhosts.conf
:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/vhosts/main-repo-dir"
ServerName example.io
ErrorLog "logs/example.io-error_log"
CustomLog "logs/example.io-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/vhosts/dev-repo-dir"
ServerName dev.example.io
ErrorLog "logs/dev.example.io-error_log"
CustomLog "logs/dev.example.io-access_log" common
</VirtualHost>
Esto funciona, pero cuando reemplazo los asteriscos con una URL, DocumentRoot
el valor predeterminado es /var/www/html
:
<VirtualHost example.io:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/vhosts/main-repo-dir"
ServerName example.io
ErrorLog "logs/example.io-error_log"
CustomLog "logs/example.io-access_log" common
</VirtualHost>
<VirtualHost dev.example.io:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/html/vhosts/dev-repo-dir"
ServerName dev.example.io
ErrorLog "logs/dev.example.io-error_log"
CustomLog "logs/dev.example.io-access_log" common
</VirtualHost>
/etc/hosts
:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost6 localhost6.localdomain6
127.0.0.1 example.io
127.0.0.1 dev.example.io
Estoy de acuerdo con usar un asterisco, solo me gustaría entender por qué tengo que hacerlo en este escenario.
Respuesta1
Esa sección solo define las ips que pueden llegar a ese host virtual. En este caso, esto <VirtualHost *:80>
significa que Apache permitirá que todas las interfaces de red accedan a ese host virtual. El comportamiento que creo que estás experimentando es que estás accediendo a la raíz del documento predeterminada, porque ninguno de los hosts virtuales que configuraste está abierto.