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

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

Я только что установил сервер Apache на Ubuntu, все прошло хорошо, и я могу получить доступ к стартовой странице. Однако я хочу создать еще одну страницу, которая находится в /var/www/test. Я хочу иметь возможность получить к ней доступ по адресуhttp://xxx.xxx.xxx.xxx/тест. Я создал каталог, вставил 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)

Что я здесь делаю не так?

решение1

Соответствие между пространством 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.

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

решение2

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

Связанный контент