Я только что установил сервер 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
каталог.