我有一个使用mod_python在我们的apache2生产服务器上运行的 django web 应用程序,但没有找到静态文件(css,images ...)
我们所有的静态东西都在/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-error 日志中没有错误。但是这里的日志来自 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 提供所有静态文件。
我究竟做错了什么?
有谁知道一个好的教程或例子?