REwrite i QueryString
    Igor Sysoev 
    is at rambler-co.ru
       
    Tue May 17 16:47:42 MSD 2005
    
    
  
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
    
    
More information about the nginx-ru
mailing list