web-dev-qa-db-ja.com

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

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)サーバー

私はここで何が間違っているのですか?

1
dywan666

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からオプションを継承します(同じオプションを再度指定する必要はありません)。

1

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

0
Stefano Martins