将apache配置到服务器django-logdb静态文件

时间:2012-08-08 12:52:24

标签: django

我不知道为什么我这么死,但我无法理解。

根据网站上的说明,我有这些设置:

LOGDB_MEDIA_ROOT = '/admin/djangologdb/media/'
LOGDB_MEDIA_URL = '/media/djanglogdb/'

我在apache httpd.conf中有这个:

Alias /media/djangologdb/ "C:/python26/lib/site-packages/django_logdb-1.0-py2.6.egg/djangologdb/media/"

但是当我的浏览器尝试获取http://www.example.com/media/djanglogdb/js/jquery.flot-0.6.min.js

时,我得到了404

无知的线索,任何人?

2 个答案:

答案 0 :(得分:0)

根据the logdb readme LOGDB_MEDIA_ROOT是文件系统到媒体文件的绝对路径,而LOGDB_MEDIA_URL是网址。所以你可能想要

LOGDB_MEDIA_ROOT = 'C:/python26/lib/site-packages/django_logdb-1.0-py2.6.egg/djangologdb/media/'
LOGDB_MEDIA_URL = '/media/djanglogdb/'

修改

与我自己的django安装相比(虽然我实际上并没有使用logdb)我有<directory>指令将选项应用于Alies引用的路径,即

Alias /site_media/ "/path/to/project/static/"
<Directory "/path/to/project/static">
    Order allow,deny
    Options Indexes
    Allow from all
    IndexOptions FancyIndexing
</Directory>

取决于您如何设置Apache可能有所帮助。与Django和logdb相比,这似乎更有可能是Apache设置的问题。

答案 1 :(得分:0)

问题在于我没有展示的东西。

遵循以下这一行:

Alias /media/djangologdb/ "C:/python26/lib/site-packages/django_logdb-1.0-py2.6.egg/djangologdb/media/"

我有

<Location /media/djangologdb >
  SetHandler None
  Order allow,deny
  Allow from all
</Location>

那个“位置”目录错了。它应该是一个“目录”指令(因为我正在为文件系统提供服务),并且该目录必须指定完整的目录路径。像这样:

<Directory "C:/python26/lib/site-packages/django_logdb-1.0-py2.6.egg/djangologdb/media/" >
  SetHandler None
  Order allow,deny
  Allow from all
</Directory>