lighttpd configuração para executar o django e o site legado juntos

1

Estou planejando migrar um site antigo para o django. Inicialmente, quero usar o django para os urls www.mydomain.com/news e continuar a usar o antigo site estático para todo o resto.

Eu tenho pouca experiência com o lighttpd, que meu host do django usa, então eu preciso de ajuda com a configuração.

Para uma instalação padrão do django, a configuração do 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",
    )
}

Eu mudei a linha

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

para

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

para que o django seja usado apenas para URLs que iniciem /news/ , mas não sei como redirecionar todo o resto para a pasta do site estático.

    
por Alasdair 03.09.2009 / 18:19

1 resposta

4

server.document-root = env.HOME + "/ projectname / static" deve fazer o truque. Em uma nota lateral: seu padrão de reescrita:

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

provavelmente deveria ter sido escrito como:

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

Dessa forma, a parte "/ news /" do URL não é passada para o django.

    
por 03.09.2009 / 19:08