用于同时运行 django 和旧网站的 lighttpd 配置

用于同时运行 django 和旧网站的 lighttpd 配置

我计划将旧网站迁移到 django。最初,我想将 django 用于 URL 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 仅用于以 开头的 url /news/,但我不知道如何将其他所有内容重定向到静态网站文件夹。

答案1

server.document-root = env.HOME + “/项目名称/static”应该可以解决问题。附注:您的重写模式:

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

可能应该写成:

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

这样,url 中的“/news/”部分就不会传递给 django。

相关内容