Not opening default site page via FastCGI and try_files

Igor Sysoev is at rambler-co.ru
Fri Sep 4 16:56:43 MSD 2009


On Fri, Sep 04, 2009 at 02:31:51PM +0200, Ale Ru wrote:

> Igor Sysoev wrote:
> > On Fri, Sep 04, 2009 at 01:46:01PM +0200, Ale Ru wrote:
> > 
> >> site.com/any-wildcarded-page-name-at-all
> >> listen 80;
> >> server_name  ~^(www\.)?(.+)$;
> >> root /var/www/$2/htdocs;
> >> 
> >> location / {
> >>        try_files  $uri  $uri/ $uri/index.htm  @django;
> >>        index index.html index.htm;
> >>    }
> > 
> > Try
> > 
> > location / {
> >    try_files  $uri  $uri/index.htm  @django;
> > }
> > 
> > or
> > 
> > location / {
> >    try_files  $uri  $uri/  @django;
> >    index index.htm index.html;
> > }
> 
> 
> This is what i have in nginx.conf. It works for all files except site 
> root page.
> What is the difference from my original config? i tried both changes 
> (delted $uri/ or delted $uri/index.htm) - the same effect.

The difference is only in order of file existance testing.

> when i type domain.com/index.htm (and there are no static index.htm 
> page) i get the page from django FCGI script
> 
> when i type domain.com/ (and there is a *static* page called index.htm) 
> i get static page
> 
> but when i type domain.com/ (and there is no static page called 
> index.htm) i get
> 403 Forbidden
> nginx/0.7.61

Then you need

  location @dajno {
       fastcgi_index   index.htm;
       ...


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list