Lighttpd

用於同時執行 django 和遺留網站的 lighttpd 配置

  • October 10, 2009

我打算將一個舊網站遷移到 django。最初,我想將 django 用於網址 www.mydomain.com/news,並繼續將舊的靜態網站用於其他所有內容。

我對我的 django 主機使用的 lighttpd 幾乎沒有經驗,所以我需要一些配置方面的幫助。

對於預設的 django 安裝,lighttpd 配置為:

# mydomain
$HTTP["host"] =~ "(^|\.)mydomain.com$" {
   fastcgi.server = (
       "/django.fcgi" => (
           "main" => (
               "socket" => env.HOME + "/projectname/projectname.sock",
               "check-local" => "disable",
           )
       ),
   )
   alias.url = (
       "/media" => env.HOME + "/projectname/media",
   )

   url.rewrite-once = (
       "^(/media.*)$" => "$1",
       "^(/.*)$" => "/django.fcgi$1",
   )
}

我改變了線路

"^(/.*)$" => "/django.fcgi$1",

"^(/news/.*)$" => "/django.fcgi$1",

所以 django 僅用於 urls 開頭/news/,但我不知道如何將其他所有內容重定向到靜態網站文件夾。

server.document-root = env.HOME + “/projectname/static”應該可以解決問題。附帶說明:您的重寫模式:

"^(/news/.*)$" => "/django.fcgi$1",

大概應該寫成:

"^/news/(.*)$" => "/django.fcgi$1",

這樣 url 的“/news/”部分就不會傳遞給 django。

引用自:https://serverfault.com/questions/62047