我一直在尝试在自己的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",
)
答案 0 :(得分:1)
在这里回答我自己的问题。
添加 FORCE_SCRIPT_NAME =“” 到settings.py。 然后重启fcgi进程。
在发布之前我知道FORCE_SCRIPT_NAME =“”技巧, 但我认为它没有用,因为我没有重启fcgi。