Назад | Перейти на главную страницу

Apache2 не может найти вновь созданную страницу

Я только что установил сервер apache на Ubuntu, все прошло хорошо, и я могу получить доступ к стартовой странице. Однако я хочу создать еще одну страницу, которая находится в / 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>

Но, к сожалению, когда я пытаюсь получить доступ к этой странице, я получаю сообщение об ошибке: Not Found Запрошенный 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.

В Каталог добавленный вами раздел указывает только разрешения и другие параметры для /var/www/test, он не включает его в путь поиска сервера. Кроме того, параметры каталога наследуются, поэтому /var/www/test каталог наследует параметры от /var/www (нет необходимости снова указывать те же параметры).

Во-первых, вам не нужно создавать новый <Directory> блокировать каждый каталог на вашем сайте. Во-вторых, если вы пытаетесь получить доступ к новому файлу без указания его имени, убедитесь, что это индексный файл. Например: вы создали /var/www/test/index.html файл, у вас есть DirectoryIndex index.html директива (дополнительные примеры и информацию о ее использовании можно найти в Вот), а затем вы пытаетесь получить доступ через свой браузер через http://localhost/test или http://localhost/test/index.html (Я предполагаю, что вы настроили DocumentRoot директива, указывающая на /var/www каталог.