我有一個Django站點設置,它使用Django管理面板,前綴爲/media/
,以及在名爲/static/
的目錄中的靜態站點內容。當然,管理員媒體內容存在於Django包中,網站的靜態內容與網站的Python代碼一起存儲。使用Django,設置管理內容和靜態內容路徑的正確方法是什麼?
目前,我的public_html
只包含適當命名的符號鏈接到實際保存靜態內容的目錄,如下所示:
~/public_html/
.htaccess
media -> $HOME/usr/lib/python2.4/site-packages/django/contrib/admin/media/
site.fcgi
site -> $HOME/mysite/public/static/
這些都是我用我的.htaccess
文件重寫規則:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ site.fcgi/$1 [QSA,L]
然而,以這種方式使用符號鏈接感覺就像一個黑客......,而且好像我可以用在.htaccess
重寫規則,以避免使用符號鏈接。 (我也想最終添加一個robots.txt
文件和一個favicon文件,而不必添加和維護一堆符號鏈接。)這是一個好主意,如果是這樣,我該怎麼做?
爲了將來的參考,我最終做了類似於Rails項目的設置。我的Django項目包含public
目錄,其中包括靜態網站內容,FastCGI的腳本,.htaccess
文件,除其他事項外,所以看起來有點像這樣:
~/
django/
public/
.htaccess
content/
favicon.ico
[email protected] -> /symlink/to/django/admin/media/
site.fcgi
static/
然後,~/public_html
只是符號鏈接到~/django/public
。一切正常,所以我很高興。
您是否受限於在用戶帳戶下安裝並使用.htaccess而不是修改Apache的配置?如果是這樣,請在問題中說明。 – akaihola 2009-02-12 09:38:23