| From | Sent On | Attachments |
|---|---|---|
| Axel | Jun 9, 2010 7:39 am | |
| Igor Sysoev | Jun 9, 2010 7:42 am | |
| Axel | Jun 9, 2010 7:47 am | |
| Igor Sysoev | Jun 9, 2010 7:57 am | |
| Axel | Jun 9, 2010 8:34 am | |
| Axel | Jun 9, 2010 11:06 am | |
| Igor Sysoev | Jun 9, 2010 11:11 am | |
| Grzegorz Sienko | Jun 9, 2010 3:04 pm | |
| Axel | Jun 10, 2010 1:09 am | |
| Igor Sysoev | Jun 10, 2010 1:16 am | |
| Axel | Jun 10, 2010 1:38 am | |
| Axel | Jun 10, 2010 3:21 am | |
| Igor Sysoev | Jun 10, 2010 5:14 am | |
| Axel | Jun 10, 2010 6:09 am | |
| Igor Sysoev | Jun 10, 2010 6:20 am | |
| Edho P Arief | Jun 10, 2010 6:22 am | |
| Axel | Jun 10, 2010 6:53 am |
| Subject: | Re: Static files download | |
|---|---|---|
| From: | Igor Sysoev (ig...@sysoev.ru) | |
| Date: | Jun 10, 2010 6:20:16 am | |
| List: | ru.sysoev.nginx | |
On Thu, Jun 10, 2010 at 03:09:34PM +0200, Axel wrote:
Igor,
I'm trying to follow your advise but look:
# ROUTING TO KOHANA IF REQUIRED location / { try_files $uri $uri/ @kohana; }
# HANDLES THE REWRITTEN URLS TO KOHANA CONTROLLER location @kohana { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; include hom_params; fastcgi_param SCRIPT_FILENAME $document_root/index.php; }
# FOR PHP FILES NOT HANDLED BY KOHANA location ~* \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; include hom_params; }
Nearly everything works at this stage EXCEPT:
when I browse an URL like "http://www.xxxx.com/share.php", this file (share.php)
does not exist in the document root therefore this URL should be handled by
@kohana.
As an answer, I get a "No input file specified". I'm pretty sure the .php
location is taking over @kohana. I tried to add a break in @kohana but no
success.
Do you see what I mean?
The single "break" is meanless directive.
You should add try_files test in \.php$ location:
location ~* \.php$ { + try_files $uri @kohana; fastcgi_pass 127.0.0.1:9000;
Please read also the order of location processing: http://nginx.org/en/docs/http/request_processing.html#simple_php_site_configuration
Le 10 juin 2010 à 14:15, Igor Sysoev a écrit :
On Thu, Jun 10, 2010 at 12:22:04PM +0200, Axel wrote:
thanks for your help. Actually I wrote my entire configuration file again from
scratch. It works very well now: http://pastebin.com/pCL2dy9Z
I'll post this configuration somewhere for Kohana users because it's been was a
pain to get it work.
This is wrong configuration.
1) All these
set $server_type prod; set $medias_path /var/www/xxxx/medias; ...
are not macros, but run-time directives. They will run every request. It's much better to set them in place:
fastcgi_param SERVER_TYPE prod; fastcgi_param MEDIAS_PATH /var/www/xxxx/medias;
2) This
if (!-e $request_filename) { rewrite ^(.+)$ /index.php$1 last; break; }
is one of the worst configuration practice. Never do this, never repeat this.
The right way is:
location / { try_files $uri @kohana; }
location @kohana { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root/index.php; fastcgi_param DOCUMENT_URI /index.php$uri; ... other fastcgi_params }
-- Igor Sysoev http://sysoev.ru/en/
_______________________________________________ nginx mailing list ngi...@nginx.org http://nginx.org/mailman/listinfo/nginx
_______________________________________________ nginx mailing list ngi...@nginx.org http://nginx.org/mailman/listinfo/nginx
-- Igor Sysoev http://sysoev.ru/en/
_______________________________________________ nginx mailing list ngi...@nginx.org http://nginx.org/mailman/listinfo/nginx





