2016-08-24 4 views
0

Я знаю, что есть небольшая тема с этой проблемой, но я до сих пор не могу ее решить. У меня есть эта структураwsgi_mod dosn't служит для администрирования статических файлов

/home 
    /server 
    /server_1 
     /static 

Статическая был сгенерирован collectstatic и у меня есть все мои staticfiles (включая администратора/CSS)

Алиас для статических файлов в Apach conifg выглядеть следующим образом:

Alias /static/ /home/server/server_1/static/ 
<Directory /home/server/server_1/static/> 
    Require all granted 
</Directory> 

Когда я запускаю страницу администратора django, я могу видеть панель входа, но без css, но если я нажму «показать источник страницы», я увижу

<link rel="stylesheet" type="text/css" href="/static/admin/css/base.css" /> 

И я могу щелкнуть, и я вижу весь код css (нет ошибки 404). Итак, сервер может видеть этот файл? Но он может использовать его или что?

Когда я пытаюсь разомкнут:

http://www.my.server.com/static/ 

Я получаю

Forbidden 

You don't have permission to access /static/ on this server. 

У меня есть STATIC_ROOT и STATIC_URL, я могу правильно запустить collectstatif, но сервер имеет некоторые проблемы с сделать его ,

EDIT

Я только что установил Джанго-Rest-рамки и этот сервер и ту же ситуацию с CSS. Файлы Css находятся в serveradres.com/static/, я могу получить к нему доступ путем перенаправления serveradres.com/static/rest_framework/css/bootstrap.min.css

Но сайт все еще обрабатывает страницу без этого css.

UPDATE

Google хром инспектор сказал:

Failed to load resource: net::ERR_BLOCKED_BY_CLIENT 
+0

Какая версия Apache и mod_wsgi? Это объявление Apache 2.4+, которое вы используете. Если вы используете более раннюю версию, синтаксис отличается. – FlipperPA

+0

Кроме того, я не уверен, что это все, но попытайтесь потерять конечную косую черту в директиве Directory: '' должно быть ' '. – FlipperPA

+0

Я пробовал без этой косой черты - ту же ошибку. У меня apache 3.4 и 4.3 wsgi – mrsolupo

ответ

1

Пользователь, который Apache работает как не может видеть внутри домашних каталогов с правами доступа, которые обычно устанавливаются на домашних каталогов с помощью системы Linux , Рекомендуется переместить код приложения за пределы вашего домашнего каталога туда, где может видеть пользователь Apache.

+0

Не можете установить для этого разрешения? Так почему я вижу css cod путем перенаправления? У меня есть доступ к этому файлу через браузер. – mrsolupo

+0

Не знаю, что вы подразумеваете под «Невозможно установить разрешения для этого». Я никогда не говорил менять разрешения на что-либо.Если ваш домашний каталог для ''/home/server'' уже имеет свои права, измененные на '' o + rx'', поэтому Apache может видеть внутри него, то причина, по которой вы должны быть запрещены в каталоге верхнего уровня, заключается в том, что Apache отключает просмотр каталогов по умолчанию. Вы должны включить его, хотя и не рекомендуется. См. «Параметры индексов» в http://httpd.apache.org/docs/2.4/mod/core.html#options –

+0

Ок, я не хочу включать это. Но это была второстепенная проблема. Я все еще не понимаю, почему мой сайт выполняет рендеринг без css, но я могу получить к ним доступ через браузер. См. Редактирование. – mrsolupo

0

Я решил это. Я знаю - это странно, но это было вызвано рекламным блоком в google chrom. Когда я выключаю его, он работает.

Смежные вопросы