ПРОЕКТЫ 


  АРХИВ 


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]

Rewrite+resolver


  • To: nginx-ru@xxxxxxxxx
  • Subject: Rewrite+resolver
  • From: "buddha" <nginx-forum@xxxxxxxx>
  • Date: Sat, 28 Dec 2013 05:57:13 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=sZxkSoKDr7or7viW0Dz9c4DrNiyl8hZeLfbz5bMQVuU=; b=i2vJxUzO7aVTay5R8m+/jbSN12M5hqPbo1SZnJWADhIkDCCMU1Cdy4Ql7oOqC/n/b6nLKteurDqlebKQ+yBYNP5YFrFTamwkBHvlrdhPc07CiA5gnTFagucnPeB1ARbSmfZeyPaA392M+EV4ZW0bPp6xLY7Ns4pI94b3XYUwZHU=;

привет всем.

есть 2 вопроса:

1. Понадобилось сделать чпу. Были ссылки вида
http://www.host.ru/news/view?id=12 надо было переделать в виде
http://www.host.ru/category/name_12

Сделал это с помощью proxy_pass вот так:

location ~ .+/.+_(\d+)$ {
                proxy_pass http://$server_name/news/view?id=$1
}

но возникла проблема. для хоста www.host.ru это работает нормально, а для
хоста help.host.ru пишет no resolver defined

поправил это вот таким способом

location ~ .+/.+_(\d+)$ {
                resolver 8.8.8.8;
                proxy_pass proxy_pass http://$server_name/news/view?id=$1
        }

конфиги для www.host.ru и help.host.ru - идентичные, отличаются только
server_name и root_dir 

Вопрос: почему для первого хоста все работает и без resolver, а для второго
прописывать обязательно?

2. Правильно ли таким образом делать чпу? с помощью rewrite не получилось.

вот конфиг для www.host.ru. Хотелось бы услышать как улучшить этот конфиг, в
чем ошибка, и как сделать чпу с помощью rewrite(возможно ли)

################################

server {
        listen 81;
        server_name     www.host.ru;

        root    /var/www/host.ru/www/;

        access_log  /var/log/nginx/www.host.access.log;
        error_log /var/log/nginx/www.host.error.log;

        location ~ .+/.+_(\d+)$ {
                proxy_pass http://$server_name/news/view?id=$1&internal=1;
        }

        location / {
                try_files $uri /index.php$uri?$query_string;
        }

        location /index.php {
                internal;
                root /var/www/host.ru/www;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_ignore_client_abort off;
                fastcgi_buffers 256 16K;
                fastcgi_buffer_size 32k;
                fastcgi_split_path_info         ^(.+\.php)(.*)$;

                fastcgi_param  CITY       $city;
                fastcgi_param  SCRIPT_FILENAME 
$document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO        $fastcgi_path_info;
                include   fastcgi_params;
        }

        location ~* \.php$ {

                root /var/www/host.ru/www/;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                fastcgi_ignore_client_abort off;
                fastcgi_split_path_info         ^(.+\.php)(.*)$;

                fastcgi_param  CITY       $city;
                fastcgi_param  SCRIPT_FILENAME 
$document_root$fastcgi_script_name;
                fastcgi_param  PATH_INFO        $fastcgi_path_info;
                fastcgi_buffers 256 16K;
                fastcgi_buffer_size 32k;
                include   fastcgi_params;
        }

}
################################

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,245884,245884#msg-245884

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


 




Copyright © Lexa Software, 1996-2009.