ПРОЕКТЫ 


  АРХИВ 


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: как настроить простой rew rite



On Tue, Feb 09, 2010 at 09:32:22AM -0500, smack87 wrote:

> Использую winxp sp3, php-фреймворк codeigniter, в данный момент структура url 
> выглядит примерно так: http://flashportal.com/index.php?/game/name 
>  
> я же хочу сделать http://flashportal.com/game/name
> тоесть хочу, чтобы оно вставляло после http://flashportal.com/ 
>  
> index.php?/ 
> 
> мне предложили такой вариант, но он не работает:
> 
> worker_processes  1;
> 
> events {
>   worker_connections  1024;
> }
> 
> 
> http {
>     include       mime.types;
>     default_type  application/octet-stream;
> 
>     sendfile        on;
>     keepalive_timeout  65;
> 
> 
> server {
>         listen       80; 
>  
>         server_name  flashportal.com;
>         charset utf-8; 
>  
>         root c:/dev/www/flashportal; 
>  
>         rewrite (.*) /index.php?$1 last; 
>  
>         location / {
>             try_files $uri $uri/ @codeigniter;
>         } 
>  
>         location @codeigniter {
>                   fastcgi_pass   127.0.0.1:9123;
>                   fastcgi_index  index.php;
>                   fastcgi_param  SCRIPT_FILENAME  
> $document_root$fastcgi_script_name;
>                   include        fastcgi_params;
>         }
>     }   
> }
> 
> В результате если ввести в IE6 http://flashportal.com/, то мне отдается 
> php-код. Если через google chrome, то этот код скачивается. 
> c:\WINDOWS\system32\drivers\etc\hosts:
> 
> 127.0.0.1 flashportal.com
> 
> Что нужно исправить?

Сначала нужно забыть слово rewrite как страшный сон.
Потом нужно переписать конфигурацию вот так:

         location / {
             try_files $uri $uri/ @codeigniter;
         } 
  
         location @codeigniter {
             fastcgi_pass   127.0.0.1:9123;
             fastcgi_param  SCRIPT_FILENAME  $document_root/index.php;
             fastcgi_param  QUERY_STRING     $uri;
             include        fastcgi_params1;
         }

fastcgi_params1 - это копия fastcgi_params, из которой нужно удалить
строку про QUERY_STRING.


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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.