Routovanie a Lighttpd
- yogiman321
- Člen | 11
Pomaly sa dostavam ku zaverecnym pracam na mojom projekte a jednou z nich je
routovanie. Ako web server pouzivam lighttpd. Po nastaveni routes mi Ladicka
hadze 404-ku hoci mam v serveri handler pre 404 nastaveny na index.php.
V access logu serveru mi vypisuje 500-vku
GET / HTTP/1.1" 500 28709
a v errorlogu serveru nepise nic.
$router[] = new Route('index.php', array(
'presenter' => 'Default',
'action' => 'default',
), Route::ONE_WAY);
$router[] = new Route('blog/<id>', array(
'presenter' => 'Default',
'action' => 'read',
));
Pouzivate niekto lighttpd v spojeni s nejakou nette aplikaciou a fancy
routovanim?
Ak ano, mozete tu ukazat funkcne nastavenie serveru?
EDIT: Vsetko funguje ako ma, len som spanikaril a unahlil sa. Neroutovalo mi http://aplikacia/ na Default presenter
Editoval yogiman321 (26. 6. 2009 1:32)
- edke
- Člen | 198
rewrite pri lighttpd ma iste obmedzenia, riesit sa to da cez skriptovaci jazyk lua a magnet module. je potrebne pridat magnet do modules:
server.modules = (
...
"mod_magnet",
...
)
virtualhost potom moze vyzerat napriklad takto:
$HTTP["host"] =~ "^(example.com)$" {
server.document-root = "/var/www/example.com/document_root"
magnet.attract-physical-path-to = ( server.document-root + "/rewrite.lua" )
}
a nakoniec subor rewrite.lua v document_root foldri (nieco ako .htaccess pri apache):
attr = lighty.stat(lighty.env["physical.path"])
if (not attr) then
lighty.env["uri.path"] = "/index.php"
lighty.env["physical.rel-path"] = lighty.env["uri.path"]
lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physical.rel-path"]
end
-- print ("final file is " .. lighty.env["physical.path"])
je to alternativa pre testy !-f a !-d v .htaccess pre apache. rewrite v lighttpd nevie testovat existenciu suboru/adresara.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(pdf|js|ico|gif|jpg|png|css|rar|zip|tar\.gz)$ index.php [L]
ak by niekto potreboval dalsiu pomoc, kludne sa ozvite. chvilu to trvalo rozbehat projekt pod lighttpd tak, aby behalo vsetko tak ako pod apache ale vysledok stoji zato. lightty naklada s resources ovela efektivnejsie a to sa samozrejme patricne prejavilo na vykone.