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.conf
immer, 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/test
aber 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/test
Verzeichnis 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.html
Datei erstellt, Sie haben eine DirectoryIndex index.html
Direktive (weitere Beispiele und Informationen zu ihrer Verwendung finden Sie inHier) und dann versuchen Sie, über Ihren Browser darauf zuzugreifen, http://localhost/test
oder http://localhost/test/index.html
(ich gehe hier davon aus, dass Sie die DocumentRoot
Direktive konfiguriert haben, die auf das /var/www
Verzeichnis verweist.