使用lighttpd、django和fastcgi时出现的URL问题

3
我刚用lighty为django配置好了fastcgi,但当处理url时,却出现了fcgi文件路径的错误,例如:在http://myserver.myhost.com/myproject.fcgi出现404错误。它需要路由到/而不是/myproject.fcgi。

Lighty配置如下:

$HTTP["host"] =~ "myproject\.myhost\.com" {
        fastcgi.server = (
         ".fcgi" => (
           "localhost" => (
             "bin-path" => "/var/www/myproject/myproject.fcgi",
             "socket" => "/tmp/myproject.sock",
             "check-local" => "disable",
             "min-procs" => 2,
             "max-procs" => 4,
          )
        ),
)

        alias.url = (
            "/media" => "/usr/local/lib/python1.6/dist-packages/Django-1.2.1-py2.6.egg/django/contrib/admin/media/",
        )

        url.rewrite-once = (
        "^(/media.*)$" => "$1",
        "^/favicon\.ico$" => "/media/favicon.ico",
        "^(/.*)$" => "/myproject.fcgi$1",
    )
}

myproject.fcgi:

#!/usr/bin/python2.6
import sys, os

# Add a custom Python path.
sys.path.insert(0, "..")

# Switch to the directory of your project. (Optional.)
os.chdir("/var/www/myproject")

os.environ['DJANGO_SETTINGS_MODULE'] = "settings"

from django.core.servers.fastcgi import runfastcgi
runfastcgi(["method=threaded", "daemonize=false"])
1个回答

9

我再次回答自己的问题。将以下内容放入settings.py文件中。

FORCE_SCRIPT_NAME = ""

谢谢你,这个问题让我苦恼了一段时间! - glenc
1
没有问题,Django的完整教程在这里:http://appdelegateinc.com/blog/2010/08/08/django-via-fastcgi-on-lighttpd/ - Matt Williamson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接