Apache2は新しく作成されたページを見つけることができません

Apache2は新しく作成されたページを見つけることができません

UbuntuにApacheサーバーをインストールしたところ、すべてうまくいって開始ページにアクセスできます。ただし、/var/www/testにある別のページを作成したいと考えています。アドレス経由でアクセスできるようにしたいのです。http://xxx.xxx.xxx.xxx/テストディレクトリを作成し、HTML ファイルを挿入して、構成を次のように変更しました。

<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>

しかし残念なことに、このページにアクセスしようとすると、「見つかりません。要求された URL はこのサーバー上に見つかりません」というエラーが発生します。

Apache/2.4.29 (Ubuntu) サーバー

ここで何が間違っているのでしょうか?

答え1

URL空間とディスク上のファイルの対応はApacheのドキュメントルート<VirtualHost>ディレクティブ。メインファイルまたは設定ファイルに次のような行がある場合:

DocumentRoot /var/www/html

(おそらく でこれが設定されているでしょう/etc/apache2/sites-enabled/000-default.conf)、サーバーに を要求するたびにhttp://example.com/path/to/file.html、ファイル の内容が取得されます/var/www/html/path/to/file.html

あなたの場合、(おそらく) と呼ばれるファイルをindex.htmlに置きました/var/www/testが、サーバーは を検索しています/var/www/html/test/index.html

ディレクトリ追加したセクションでは、 の権限とその他のオプションのみが指定され/var/www/test、サーバーの検索パスには含まれません。また、ディレクトリ オプションは継承されるため、ディレクトリは/var/www/testからオプションを継承します/var/www(同じオプションを再度指定する必要はありません)。

答え2

まず、ウェブサイトのすべてのディレクトリに新しいブロックを作成する必要はありません<Directory>。次に、名前を指定せずに新しいファイルにアクセスしようとしている場合は、それがインデックスファイルであることを確認してください。たとえば、ファイルを作成し/var/www/test/index.html、ディレクティブを作成しますDirectoryIndex index.html(使用方法の詳細な例と情報については、ここhttp://localhost/test) を実行してから、または(ここでは、ディレクトリを指すディレクティブをhttp://localhost/test/index.html構成していると想定しています) を介してブラウザからアクセスしようとします。DocumentRoot/var/www

関連情報