ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Помогите с location и rewrite


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Помогите с location и rewrite
  • From: Валентин Бартенев <ne@xxxxxxxx>
  • Date: Sun, 2 Oct 2011 15:35:43 +0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=vbart.ru; s=mail; h=Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:In-Reply-To:References:Date:Subject:To:From; bh=qeUgq6wsHm3qeT8G4OFJkKyXMHlZaMHmbhDwyhXJG+w=; b=EJZe3hBmy4sWty+qmcKh+rlLzbMOr6T814UZL2tkjB2tcy6jqKx2gfb+Q+fXodElifAIUrHoyu+qxSkpkctLjz2QbXqYMmY9s1C0UQ8u+FHfCNkLBm4C3vnGBeUh5wteUtLs6w0v+oxuGmqIRSYMzPawDSWazIkh/OE6EjqzBXDZrfz01xdKFG0w4bWzaIz2Qhx1bWNpbpwIGN90QDdKjchITJ4fsvuzkuI2UnujrBQueeJ7nyTOTYG+XxcUGMeB4S5DD73uXDh9QjWOHxYyeU4DuJ3wlzTQAKAdOpzfuMtsu14CLqu/iH1boTjSX5mpExz81sDCSHeF6sFbsmHmsg==;
  • In-reply-to: <21f0f0837c5651bcac61112454f4d092.NginxMailingListRussian@xxxxxxxxxxxxxxx>
  • References: <21f0f0837c5651bcac61112454f4d092.NginxMailingListRussian@xxxxxxxxxxxxxxx>

On Sunday 02 October 2011 11:03:09 alexpts wrote:
> Помогите составить правило для nginx,
> которое бы перенаправляло все запросы,
> кроме запросов которые заканчиваются
> на список расширений файлов
> (css|js|pdf|odt|...|jpg|png|gif) на корневой скрипт
> index.php.

# вот вам обратное правило
location *~ \.(css|js|pdf|odt|jpe?g|png|gif)$ {
        # тут обрабатывается то что заканчивается на 
        # \.(css|js|pdf|odt|jpe?g|png|gif)
        # остальное где-то в другом месте
}

> задач, как правильно использовать location
> и rewrite в таких случаях

rewrite - никак.
Правильно использовать try_files, (fastcgi/uwsgi)_param/proxy_pass

---------------------------

location / {
        try_files $uri @php_index;
}

# тут скопировал то, что у вас было:
location ~ \.php$ {
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_pass 127.0.0.1:9000;

        # подключается файл fastcgi_params
        include        fastcgi_params;
}


location @php_index {
        fastcgi_pass 127.0.0.1:9000;

        fastcgi_param SCRIPT_FILENAME /путь/к/вашему/index.php;
        # как-то так
        # дальше сами, я не разбираюсь в php
        # и не знаю какие переменные окружения ждет ваш бэкэнд
}

--
Валентин Бартенев
http://vbart.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.