try_files php
Marcos Neves
marcos.neves at gmail.com
Thu May 27 23:14:38 MSD 2010
How about this one?
try_files $uri $uri/ $uri.htm $uri.html @php;
location @php {
rewrite ^.*$ $uri.php;
}
Do I need to put try files inside a location / { } ?
Is a good idea use: if (-f $uri.php) {do php handler}
Marcos Neves
+55 44 9918-8488
On Thu, May 27, 2010 at 4:04 PM, Igor Sysoev <igor at sysoev.ru> wrote:
> On Thu, May 27, 2010 at 03:13:32PM -0300, Marcos Neves wrote:
>
>> How can I reproduce this behavior:
>>
>> with a request to /foo/bar
>>
>> try file: foo/bar
>> try index.htm: foo/bar/
>> try file: foo/bar.htm
>> try file: foo/bar.html
>> try parse php: foo/bar.php
>> try file: /layout.htm
>> try file: /layout.html
>> try parse php: /layout.php
>> return 404 if not found.
>>
>> I try this:
>>
>> location / {
>> try_files $uri $uri/ $uri.htm $uri.html $uri.php layout.htm
>> /layout.html /layout.php;
>> }
>>
>> Everything works, except PHP that returns as text file showing the source code.
>>
>> ps: Is there a blog post that explain exactly how location, if,
>> rewrite and try_files works?
>> The docs are not so clear about how the flow works.
>
> You can not mix different handlers: static and php, in one try_files.
> My variant is similar to Merlin's:
>
> location / {
> try_files $uri $uri/index.htm $uri.htm $uri.html @php;
> }
>
> location @php1 {
> try_files $uri.php @file1;
the follow lines are always executed or only when the try_file above
match $uri.php ?
> fastcgi_pass ...
> }
>
> location @file1 {
> try_files /layout.htm /layout.html @php2;
> }
>
> location @php2 {
What the =404 below means?
> try_files /layout.php =404;
> fastcgi_pass ...
> }
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>
More information about the nginx
mailing list