Я настраиваю сайт django, используя python2.7, apache2.2, mod_wsgi4.4 и django1.8. У меня очень странная ошибка при попытке использовать простые статические изображения. Мой корень проекта находится в /var/www/siteName/
, и все мои статические файлы обслуживаются от /var/www/siteName/static/
. У меня есть небольшая иерархия файлов в пределах .../static/
, чтобы упорядочить все изображения сайта. Файл дерево выглядит следующим образом:с помощью mod wsgi & apache, изображения только обрабатываются, если в подкаталоге
- статические
- изображения
- монитор // CSS файлы для все мое страницы
- изображения
Моя проблема в том, что я могу использовать изображения, которые находятся в пределах пронумерованных каталогов, но не все изображения, которые находятся непосредственно в каталоге images
. Я не могу понять, почему. Перемещение файла изображения с images
на images/3/
works..but Я не хочу этого делать. Всякий раз, когда я пытаюсь получить доступ к файлу изображения в static
я получаю пощечину этого сообщения об ошибке
(13) Разрешение отказано: права доступа к файлам запретить доступ к серверу:/вар/WWW/SiteName/статический/изображения/GroupShot. JPG
жестко прописывать пути в .html шаблон дает те же результаты:
<div class="imageContainer">
<img src='/static/images/3/stethoscope/groupshot.jpg'>
</div>
<div class="imageContainer">
<img src='/static/images/groupshot.jpg'>
</div>
Первый IMG тег работает отлично, а второй нет.
Ниже VirtualHost определение из моего httpd.conf
файла:
<VirtualHost *:80>
WSGIScriptAlias//var/www/siteName/projName/wsgi.py
Alias /static/ /var/www/siteName/static/
<Directory /var/www/siteName/static>
Order deny,allow
Allow from all
</Directory>
<Directory /var/www/siteName/projName>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
LogLevel warn
ErrorLog /var/www/siteName/logs/error.log
CustomLog /var/www/siteName/access.log combined
</VirtualHost>
Кто-нибудь еще видел что-нибудь подобное? Я проверил и дважды проверил с помощью инструмента под названием namei
все права доступа к файлам. Большинство статических файлов принадлежат root: root. Каталоги 755, а файлы имеют 644 разрешения.
выход namei -l static/images/3/stethoscope/groupshot.jpg
:
f: static/images/3/stethoscope/groupshot.jpg
drwxr-xr-x root root static
drwxr-xr-x root root images
drwxr-xr-x root root 3
drwxr-xr-x root root stethoscope
-rw-r--r-- root root groupshot.jpg
выход namei -l static/images/groupshot.jpg
:
drwxr-xr-x root root static
drwxr-xr-x root root images
-rw-r--r-- root root groupshot.jpg
"Каталоги - 755, а файлы - 644 разрешений" - какие каталоги? Все они? И файлы? – kittykittybangbang
@kittykittybangbang, спасибо, что указали это. Я редактировал вопрос, чтобы показать, какие директории я имел в виду. Когда я увидел, что разрешение отклонено, я дважды перешел к этой странице вики-страницы Apache (http://wiki.apache.org/httpd/FileSystemPermissions), чтобы дважды проверить. –