
Zauważyłem że na forum nie ma subfora dlas Nginx, dlatego pisze tutaj.
Mam skonfigurowaneego Nginxa z php fastcgi, i problem polega na tym że dla określonego vhosta, czasem nie działa rewrite.
Aplikacja jest napisana w ZF. Zupełnie nie rozumiem dlaczego tylko dla niektórych URLi się tak dzieje, nie ma to związku z długością URLa, ani z nietypowymi znakami, czy błędnie zdefiniowanymy routerami. Po prostu dla pewnych URLi rewrite oparty o poniższą konfigurację nie działa (nawet nie wchodzi do index.php Zenda).
oto plik vhosta:
listen 80; server_name domena.pl en.domena.pl; root /var/www/domena.pl/public_html; access_log off; error_log /var/log/nginx/domena.pl/error.log; index /index.php; # remove trailing slash, that throws ZF router rewrite ^/(.*)/$ /$1 break; location / { try_files $uri $uri/ /index.php?$args; } location ~* \.php { include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_read_timeout 600; fastcgi_pass 127.0.0.1:9000; fastcgi_param APPLICATION_ENV production; } # expires headers on known filetypes location ~* ^.+.(css|js|jpeg|jpg|gif|png|ico) { access_log off; expires max; } }
A może ktoś ma sprawdzony plik vhosta dla aplikacji Zendowej i mógłby go tutaj wkleić?
Jakieś pomysły?
Oto error log dla wadliwie działającego adresu:
011/09/05 09:31:07 [error] 8062#0: *5 open() "/var/www/domena.pl/public_html/galeria/wloclawek/miasto-w-obiektywie failed (2: No such file or directory)
Czyli serwer szuka danej lokalizacji na dysku, zamiast wykonać rewrite do index.php w Zendzie.
Kiedy zmienię dany url w backendzie na np. wloclawek/zadna-wies to routing działa. Nie wiem od czego to zależne.