UbuntuのLighttpd + FCGIのDjango-2番目のサイトを有効にすると書き換えが停止する
質問
ubuntuでfastcgiを介してdjangoを起動および提供するようにlighttpを設定しました。 (ubuntuのapacheのようなconf-available、conf-enabledメカニズムを介して)単一のサイトのみを有効にすると、すべてが美しく動作します。 2番目のサイトを有効にすると、URLの書き換えが正常に機能しなくなったように見えますが、fcgiプロセスは開始され、データを提供しています。これが私の設定です:
conf-available / 10-example.conf
$HTTP["host"] == "example.com" {
var.virt_name = "example"
include "includes/incl-fastcgi.conf"
}
includes / incl-fastcgi.conf
global {
server.modules += ("mod_rewrite",
"mod_fastcgi")
}
var.site_folder = "/" + virt_name
var.site_root = server_root + site_folder
var.socket = server_root + "/.handles/" + virt_name + ".socket"
server.document-root = site_root
fastcgi.server = (
"/django.fcgi" => (
"main" => (
"socket" => socket,
"bin-path" => "/etc/lighttpd/scripts/fcgi.sh",
"bin-environment" => ( "VIRT" => virt_name, ),
"check-local" => "disable",
"min-procs" => 1,
"max-procs" => 1,
"allow-x-send-file" => "enable",
),
),
)
alias.url = (
"/media/admin" => "/usr/share/python-support/python-django/django/contrib/admin/media", #why the hell does it live here?
)
url.rewrite-once = (
"^(/media.*)Page not found (404)
Request Method: GET
Request URL: http://example.com/django.fcgi/[the url I requested]
quot; => "$1",
"^/favicon\.ico<*>quot; => "/media/favicon.ico",
"^/robots\.txt<*>quot; => "/robots.txt",
"^(/.*)<*>quot; => "/django.fcgi$1",
)
2番目のサイトを有効にすると、conf-enabledの 10-example.conf
の(わずかに変更された)コピーへの2番目のリンクがあることを除いて、すべて同じです。これが発生すると、私のサイトは次のdjango-servedエラーで失敗します:
別のサイトを有効にすると既存の設定が壊れる理由がわかりません。ホストベースの構文は、その特定のホストへの変更を分離するはずですが、そうではないようです。
解決
将来この質問を見る人がいたら、答えはバージョン1.4.20以降で修正され、サーバーがv1.4.19を実行していたからだと思います。それがUbuntuのリポジトリにあったからです。
他のヒント
FORCE_SCRIPT_NAME を&quotに設定しました;&quot; settings.py?
でFORCE_SCRIPT_NAME=""
所属していません StackOverflow