Apache2 kann eine neu erstellte Seite nicht finden

Apache2 kann eine neu erstellte Seite nicht finden

Ich habe gerade einen Apache-Server auf Ubuntu installiert, alles lief reibungslos und ich kann auf die Startseite zugreifen. Ich möchte jedoch eine weitere Seite erstellen, die sich in /var/www/test befindet. Ich möchte darauf über die Adresse zugreifen könnenhttp://xxx.xxx.xxx.xxx/test. Ich habe das Verzeichnis erstellt, die HTML-Datei eingefügt und meine Konfiguration wie folgt geändert:

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

Aber leider erhalte ich beim Versuch, auf diese Seite zuzugreifen, die Fehlermeldung: „Nicht gefunden“. Die angeforderte URL wurde auf diesem Server nicht gefunden.

Apache/2.4.29 (Ubuntu) Server

Was mache ich hier falsch?

Antwort1

Die Korrespondenz zwischen dem URL-Bereich und den Dateien auf der Festplatte wird durch Apache geregelt.Dokument RootDirektive. Wenn Sie in Ihrer Haupt- oder <VirtualHost>Konfigurationsdatei eine Zeile wie die folgende haben:

DocumentRoot /var/www/html

(Sie haben dies wahrscheinlich in eingestellt ), dann erhalten Sie /etc/apache2/sites-enabled/000-default.confimmer, wenn Sie den Server um bitten , den Inhalt der Datei .http://example.com/path/to/file.html/var/www/html/path/to/file.html

In Ihrem Fall haben Sie (wahrscheinlich) eine Datei mit dem Namen eingegeben index.html, /var/www/testaber der Server sucht nach /var/www/html/test/index.html.

DerVerzeichnisDer von Ihnen hinzugefügte Abschnitt gibt nur Berechtigungen und andere Optionen für an /var/www/test, er schließt es nicht in den Suchpfad des Servers ein. Außerdem werden Verzeichnisoptionen übernommen, sodass das /var/www/testVerzeichnis die Optionen von übernimmt /var/www(Sie müssen dieselben Optionen nicht erneut angeben).

Antwort2

Erstens müssen Sie nicht <Directory>für jedes Verzeichnis Ihrer Website einen neuen Block erstellen. Zweitens: Wenn Sie versuchen, auf die neue Datei zuzugreifen, ohne ihren Namen anzugeben, stellen Sie sicher, dass es sich um eine Indexdatei handelt. Beispiel: Sie haben eine /var/www/test/index.htmlDatei erstellt, Sie haben eine DirectoryIndex index.htmlDirektive (weitere Beispiele und Informationen zu ihrer Verwendung finden Sie inHier) und dann versuchen Sie, über Ihren Browser darauf zuzugreifen, http://localhost/testoder http://localhost/test/index.html(ich gehe hier davon aus, dass Sie die DocumentRootDirektive konfiguriert haben, die auf das /var/wwwVerzeichnis verweist.

verwandte Informationen