MegaMufa
@MegaMufa

Почему Apache не может получить доступ к директории?

Добрый день.
Есть директория в которой лежат изображения.
/
-images/
--01/
--- 1.png
-previews/
--01/
--- 2.png
-icons/
--titles/
---3.png

На эту директорию указывает виртуальный хост:
конфиг виртуального хоста
<VirtualHost *:80>
        ServerName storage.site.loc
        DocumentRoot /var/site/storage
        <Directory /var/site/storage/>
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>


Для чистоты экперимента права этим директориям выставил 777:
ls -la
drwxrwxrwx   8 haru haru 4096 Jan  2 14:05 .
drwxrwxrwx   7 root root 4096 Jan  2 11:41 ..
drwxrwxrwx   2 haru haru 4096 Jan  2 14:05 icons
drwxrwxrwx 144 haru haru 4096 Jan  1 16:13 images


Проблема вот в чем: apache при обращении по адресу http://storage.site.loc/icons/titles/3.png отдает 404 код. При этом файлы из директорий images и previews отдает нормально.

Если создать новую директорию и в ней файл - сервер отдаст его без ошибок.
Если удалить директорию icons и потом создать заново - все равно файлы не видит.

Файл .htaccess отсутствует. Версия apache - 2.4.6

Подскажите, в чем может быть проблема?
  • Вопрос задан
  • 4057 просмотров
Решения вопроса 1
MegaMufa
@MegaMufa Автор вопроса
Я выяснил, в чем была проблема.
В файле /etc/apache2/mods-enabled/alias.conf была строка Alias /icons/ "/usr/share/apache2/icons/". Закомментил ее и все заработало.

Раньше директория storage не являлась корневой и ссылки на нее имели вид site.com/storage/icons/1.png. Из-за этого, судя по всему, алиас и не срабатывал.

Теперь ломаю голову: откуда этот алиас там взялся и для чего он был нужен.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы