zend framework

Configurando Zend Framework 2 com lighttpd

Como base usaremos o ubuntu, mas serve para qualquer distribuição, basta apenas saber localizar o arquivo de configuração do lighttpd(lighttpd.conf)

Acessando o lighttpd.conf

No ubuntu o arquivo está localizado no /etc/lighttpd, em outra distribuições.

Rode o comando:

find / -name lighttpd.conf

Certifique-se de que o mod_rewrite está ativo.

server.modules = (
        "mod_access",
        "mod_alias",
        "mod_compress",
        "mod_redirect",
#       "mod_rewrite",
)

Retire o ‘#’ de trás do “mod_rewrite”, e pronto! Pronto uma parte.

Configurando o mod_rewrite

No meu servidor eu utilizo o mod_simple_vhost, mas para quem não usa, basta apenas tirar a parte do $HTTP..

Essa é a configuração de um projeto pessoal hoo.st

Como no Zend Framework, é preciso que tudo seja redirecionado para o index.php, assim como se é utilizado para fazer url amiagavel

HTTP["host"] =~ "(^|\.)hoo.st" {
        server.document-root    = "/home/hoo/public_html/demo/public"
        server.errorlog         = "/var/log/lighttpd/sites/hoo_error.log"
        accesslog.filename      = "/var/log/lighttpd/sites/hoo_access.log"
        setenv.add-environment  = (
                "APPLICATION_ENV"       => "development",
                "ZF2_PATH"              => "/home/hoo/public_html/zf/library"
        )
        url.rewrite-once = (
                                ".*\?(.*)$" => "/index.php?$1",
                                ".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",
                                "" => "/index.php"
                           )
}

A parte que realmente importa é configurar a pasta com o server.document-root, caso ele não seja na default, e a parte do url.rewrite-once

Vamos por partes. Explicando o url.rewrite-once:

Na linha abaixo, ele redireciona tudo o que for passado por GET, para index.php, como GET

".*\?(.*)$" => "/index.php?$1",

Nesta, ele evita o redirecionamento, dos arquivos estáticos, direcionado tudo para o arquivo real.

".*\.(js|ico|gif|jpg|png|css|html)$" => "$0",

Aqui, tudo que for chamado será redirecionado para o index.php

"" => "/index.php"

Considerações

Para quem não conhece deveria conhecer!

Written by vinicius