我一直在使用的mod_python我们的Apache2生产服务器上运行的Django的web应用程序,但没有静态文件中找到(CSS,图片...)如何让Apache提供静态文件Django的
我们所有的静态的东西正在/var/my.site/example/static
/var/my.site/example/static/
|-admin/
|-css/
|-img/
|-css/
|-js/
|-img/
现在,我想我只是别名,像这样所有的请求我的静态的东西:
这是apache2的CONF:
<VirtualHost 123.123.123:443>
... SSL stuff ...
RewriteEngine On
ReWriteOptions Inherit
<Location "/example">
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE example.settings
PythonPath "[ \
'/home/me/Envs/ex/lib/python2.6/site-packages',\
'/var/my.site',\
'/home/me/Envs/ex/lib/python2.6/site-packages/django',\
'/home/me/Envs/ex/lib/python2.6/site-packages/MySQLdb',\
'/var/my.site/example',\
'/var/my.site/example/static'] + sys.path"
PythonDebug Off
</Location>
Alias /example/static /var/my.site/example/static
<Directory /var/my.site/example/static>
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
这是我的settings.py
...
STATIC_ROOT = '/var/my.site'
STATIC_URL = '/example/static/'
STATICFILES_DIRS = (
"/var/my.site/example/static",
)
...
有一个在Apache的错误日志中没有错误。但在这里记录来自Apache的secure_access.log
[09/Aug/2012:12:37:55 +0200] "GET /example/admin/ HTTP/1.1" 200 6694
[09/Aug/2012:12:37:55 +0200] "GET /example/static/css/base.css HTTP/1.1" 301 468
[09/Aug/2012:12:37:55 +0200] "GET /example/static/img/logo.png HTTP/1.1" 403 766
[09/Aug/2012:12:37:55 +0200] "GET /example/static/css/base.css/ HTTP/1.1" 500 756
[09/Aug/2012:12:37:55 +0200] "GET /example/static/admin/css/dashboard.css HTTP/1.1" 301 622
但是,这并不工作,我不知道,如果我甚至是在正确的轨道上。它确实工作,当我设置DEBUG = True
但这只是因为django服务于所有的静态文件。
我在做什么错?
有没有人知道一个很好的教程或例子?
确实在/example“>之前将别名/ example/static /var/my.site/example/static 放在了一起吗? –
Willian
2012-08-09 11:18:04
不幸的是不是 – giZm0 2012-08-09 11:20:45
你可以显示... django-stuff ...? – Willian 2012-08-09 11:23:19