Acabei de instalar um servidor apache no Ubuntu, tudo correu bem e consigo acessar a página inicial. No entanto, quero criar outra página localizada em/var/www/test. Quero poder acessá-lo via endereçohttp://xxx.xxx.xxx.xxx/teste. Criei o diretório, inseri o arquivo html e mudei minha configuração para esta:
<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>
Mas infelizmente, quando tento acessar esta página recebo um erro: Not Found A URL solicitada não foi encontrada neste servidor.
Servidor Apache/2.4.29 (Ubuntu)
O que estou fazendo de errado aqui?
Responder1
A correspondência entre o espaço da URL e os arquivos no disco é regida pelo ApacheDocumentRootdiretiva. Se você tiver em seu <VirtualHost>
arquivo principal ou de configuração uma linha como:
DocumentRoot /var/www/html
(você provavelmente tem isso configurado /etc/apache2/sites-enabled/000-default.conf
), sempre que solicitar ao servidor http://example.com/path/to/file.html
, você obterá o conteúdo do arquivo /var/www/html/path/to/file.html
.
No seu caso você colocou um arquivo (provavelmente) chamado index.html
, /var/www/test
mas o servidor está procurando por /var/www/html/test/index.html
.
ODiretórioseção que você adicionou especifica apenas permissões e outras opções para /var/www/test
, ela não a inclui no caminho de pesquisa do servidor. Além disso, as opções do diretório são herdadas, portanto o /var/www/test
diretório herda as opções de /var/www
(não é necessário especificar as mesmas opções novamente).
Responder2
Primeiro, você não precisa criar um novo <Directory>
bloco para cada diretório do seu site. Em segundo lugar, se você estiver tentando acessar o novo arquivo sem especificar seu nome, certifique-se de que seja um arquivo de índice. Por exemplo: você criou um /var/www/test/index.html
arquivo, você tem uma DirectoryIndex index.html
diretiva (mais exemplos e informações sobre seu uso podem ser encontrados emaqui) e então você tenta acessar pelo seu navegador através http://localhost/test
do ou http://localhost/test/index.html
(presumo aqui que você configurou a DocumentRoot
diretiva apontando para o /var/www
diretório.