Re: исключения для правил

Igor Sysoev igor на sysoev.ru
Пт Сен 10 19:26:54 MSD 2010


On Fri, Sep 10, 2010 at 10:26:39AM -0400, juves wrote:

> Имеется следующее описание правил
> 
> 	[code]
> location ~* \.php$ {
> 		    fastcgi_pass 127.0.0.1:9000;
> 			fastcgi_index index.php;
> 			include "/etc/nginx/fastcgi_params.conf";
> 			fastcgi_param SCRIPT_FILENAME /home/htdocs$fastcgi_script_name;
> 		}
> 		
> 				location / {
>    				index index.php index.htm index.html;
>    				try_files $uri $uri/ /index.php?q=$uri;
>   		 }
> 		 		location /folder/ {
>    				index index.php;
> 				rewrite ^/folder/(.*).htm$ /folder/index.php?id=$1 break;
>   		 }
> [/code]
> как в этом случае задать исключения на
> существующие файлы или директории,
> чтобы предыдущие строки их не
> обрабатывали, к примеру на folder, ибо при
> обращении к нему запрос уходит на
> расположенный в корневой файл скрипта,
> а не в эту папку

location / {
      index index.php index.htm index.html;
      try_files $uri $uri/ /index.php?q=$uri;
}

location ^~ /filder/(.+\.htm)$ {
     fastcgi_pass  127.0.0.1:9000;
     include       /etc/nginx/fastcgi_params.conf;
     fastcgi_param SCRIPT_FILENAME /home/htdocs/folder/index.php;
     fastcgi_param QUERY_STRING    id=$1;
}

location ~ \.php$ {
     fastcgi_pass  127.0.0.1:9000;
     include       /etc/nginx/fastcgi_params.conf;
     fastcgi_param SCRIPT_FILENAME /home/htdocs$fastcgi_script_name;
     fastcgi_param QUERY_STRING    $query_string;
}

Из /etc/nginx/fastcgi_params.conf нужно убрать QUERY_STRING.


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru