ПРОЕКТЫ 


  АРХИВ 


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[2]: REwrite i QueryString



On Tue, 17 May 2005, Aleksej Novikov wrote:

Hello Igor,

Tuesday, May 17, 2005, 3:25:20 PM, you wrote:

On Tue, 17 May 2005, Aleksej Novikov wrote:

Пытаюсь разобратся с Rewrite и никак, на gmane тоже ничего не нашёл.
Проблема такова.

Нужно для всех файлов заканчивающихся на .html делать rewrite

  location  ~*.(html)$ {
    rewrite .* ./index.php?r=$request_uri break;
     }

То есть из линка http:/site/page/numer_1.htm
сделать http:/site/index.php?r=/page/numer_1.htm

Между ~* и .(html) есть пробел ?
Postavil.

    location  ~*  \.html$ {

Кстати, $request_uri - это непарсенный (то есть, с %XX, //, /../ и прочая)
URI с аргументами.
On kakujuto hren' pihaet zdeas'. V loge pishetsa:
[error] 2506#16384: *3449 open() "/usr/html/index.php" failed (2: No such file 
or directory)

Otkuda etot /usr/htmkl ja dazhe neznaju, u menja i direktorii takoj
netu na servere

html - это дефолтный root, если root не описан, то равен <prefix>/html
Нужно для этого location описать root:

    location  ~*  \.html$ {
        root   /path/to/root;
        rewrite .* /index.php?r=$request_uri break;
    }

И ещё я убрал точку перед ./index.php.

Отлаживать rewrite можно по логу, уровень notice и директива
rewrite_log [on|off];


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




 




Copyright © Lexa Software, 1996-2009.