UbuntuにApacheサーバーをインストールしたところ、すべてうまくいき、スタートページにアクセスできます。ただし、/ var/www/testにある別のページを作成したいと思います。アドレス http://xxx.xxx.xxx.xxx/test 経由でアクセスできるようにしたい。ディレクトリを作成し、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)サーバー
私はここで何が間違っているのですか?
URLスペースとディスク上のファイル間の対応は、Apacheの DocumentRoot ディレクティブによって決まります。メインまたは<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
を検索しています。
追加した Directory セクションは、/var/www/test
のアクセス許可とその他のオプションのみを指定し、サーバーの検索パスには含まれません。さらに、ディレクトリオプションは継承されるため、/var/www/test
ディレクトリは/var/www
からオプションを継承します(同じオプションを再度指定する必要はありません)。
まず、Webサイトのすべてのディレクトリに新しい<Directory>
ブロックを作成する必要はありません。次に、名前を指定せずに新しいファイルにアクセスしようとしている場合は、それがインデックスファイルであることを確認してください。例:/var/www/test/index.html
ファイルを作成し、DirectoryIndex index.html
ディレクティブを作成し(その使用に関するその他の例と情報は ここ にあります)、次のことを試みます。 http://localhost/test
またはhttp://localhost/test/index.html
を介してブラウザからアクセスします(ここでは、/var/www
ディレクトリを指すDocumentRoot
ディレクティブを設定したと想定しています。