2012-08-08 130 views
0

我不知道我爲什麼這麼死腦筋,但我無法弄清楚。配置apache到服務器django-logdb靜態文件

我有這方面的設置,按照說明從網站:

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/" 

,但我發現時,404瀏覽器試圖獲得http://www.example.com/media/djanglogdb/js/jquery.flot-0.6.min.js

線索爲無知,任何人?

回答

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」指令(因爲我正在從文件系統中提供某些東西),並且該目錄必須指定完整的目錄路徑。像這樣:

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

根據the logdb readmeLOGDB_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可能有幫助。這看起來更像是你的Apache設置的問題,而不是Django和logdb。

+0

那麼LOGDB_MEDIA_ROOT只有在DEBUG = True且開發Web服務器提供靜態文件時才使用? – 2012-08-08 19:24:49

+0

我對logdb不夠熟悉,不能告訴你我的頭頂,但這聽起來似乎合理。在https://github.com/joeribekker/django-logdb上的README建議使用'LOGDB_MEDIA_ROOT = os.path.join(djangologdb .__ path __ [0],'media')'設置媒體根目錄,使其與機器無關。 – 2012-08-09 08:28:11

+0

剛剛發生的另一個原因Apache可能不工作,將編輯我的答案。 – 2012-08-09 08:28:42