Django与fastcgi和lighttpd。管理站点请求“/homepage.fcgi/homepage.fcgi/admin/”

时间:2012-02-04 12:16:53

标签: django fastcgi lighttpd

我一直在尝试在自己的Ubuntu服务器上部署一个简单的Django网站。 经过一些麻烦后,我终于完成了大部分工作,除了URL和管理站点的一些问题。

我自己设计的网站的所有部分都运行正常,但管理网站存在问题。 (使用runserver btw在本地工作正常)。我在自己的网站上有一个“/ admin /”的链接,它可以运行,并将我发送到管理站点的登录名。点击“登录”然后,我得到一个 404错误和:     请求网址:http://mydomain.com/homepage.fcgi/homepage.fcgi/admin/

显然url-rewrite有问题。对于所有其他链接,它会无形地添加“homepage.fcgi”一次,但这里它会执行两次。 我打赌这是一个简单的解决方案,但这是我第一次部署除了纯HTML网站以外的任何东西..

这是我的lighttpd.conf的结尾:

fastcgi.server = (
    "/homepage.fcgi" => (
        "main" => (
            # Use host / port instead of socket for TCP fastcgi
            # "host" => "127.0.0.1",
            # "port" => 3033,
        "socket" => "/home/myDjango/fcgi/homepage.sock",
        "check-local" => "disable",
        )
    ),
)
alias.url = (
    "/static" => "/home/myDjango/static_root",
)

url.rewrite-once = ( 
    "^(/static.*)$" => "$1",
    "^(/.*)$" => "/homepage.fcgi$1",
)

1 个答案:

答案 0 :(得分:1)

在这里回答我自己的问题。

添加     FORCE_SCRIPT_NAME =“” 到settings.py。 然后重启fcgi进程。

在发布之前我知道FORCE_SCRIPT_NAME =“”技巧, 但我认为它没有用,因为我没有重启fcgi。