Acabo de instalar un servidor Apache en Ubuntu, todo salió bien y puedo acceder a la página de inicio. Sin embargo, quiero crear otra página ubicada en /var/www/test. Quiero poder acceder a través de la dirección.http://xxx.xxx.xxx.xxx/prueba. Creé el directorio, inserté el archivo html y cambié mi configuración a esto:
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/test>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Pero desafortunadamente, cuando intento acceder a esta página aparece un error: No encontrada La URL solicitada no se encontró en este servidor.
Servidor Apache/2.4.29 (Ubuntu)
¿Qué estoy haciendo mal aquí?
Respuesta1
La correspondencia entre el espacio URL y los archivos en el disco se rige por la norma Apache.Raiz del documentodirectiva. Si tienes en tu <VirtualHost>
archivo principal o de configuración una línea como:
DocumentRoot /var/www/html
(probablemente tenga esto configurado /etc/apache2/sites-enabled/000-default.conf
), cada vez que le solicite al servidor http://example.com/path/to/file.html
, obtendrá el contenido del archivo /var/www/html/path/to/file.html
.
En su caso, colocó un archivo (probablemente) llamado index.html
, /var/www/test
pero el servidor lo está buscando /var/www/html/test/index.html
.
ElDirectorioLa sección que agregó solo especifica permisos y otras opciones para /var/www/test
, no la incluye en la ruta de búsqueda del servidor. Además, las opciones del directorio se heredan, por lo que el /var/www/test
directorio hereda las opciones /var/www
(no es necesario volver a especificar las mismas opciones).
Respuesta2
Primero, no es necesario crear un nuevo <Directory>
bloque para cada directorio de su sitio web. En segundo lugar, si intenta acceder al nuevo archivo sin especificar su nombre, asegúrese de que sea un archivo de índice. Por ejemplo: ha creado un /var/www/test/index.html
archivo, tiene una DirectoryIndex index.html
directiva (puede encontrar más ejemplos e información sobre su uso enaquí) y luego intentas acceder a través de tu navegador a través de http://localhost/test
o http://localhost/test/index.html
(supongo que has configurado la DocumentRoot
directiva que apunta al /var/www
directorio.