Почему nginx в логах пишет об ошибке при запросе /dir и не пишет при запросе /dir/ ?

Labutin

Новичок
Почему nginx в логах пишет об ошибке при запросе /dir и не пишет при запросе /dir/ ?

У меня в nginx стоит свой обработчик 404-х ошибок:
error_page 404 = /index.php;
Если идет запрос типа:
http://site/dir1/dir2/
и при этом /home/www/htdocs/dir1/dir2/ не существует, то в логах ничего об ошибке не пишет, а управление успешно передается на index.php

А если идет запрос
http://site/dir1/dir2
(без слеша в конце)
то в логах ошибка:
2007/07/03 22:28:32 [error] 99843#0: *83082 open() "/home/www/htdocs/dir1/dir2" failed (2: No such file or directory), client: 83.139.х.х, server: site, URL: "/dir1/dir2", host: "site"
При этом управление index.php тоже передается.

Почему поведение nginx различается? И как его заставить не писать об ошибках при запросах, у которых нет в конце слеша?

P.S. nginx-0.5.26
 

Alexandre

PHPПенсионер
у гникса есть маленькая недоработка с обработкой последнего слеша, забей... (я с реврайтом намучался)

можешь написать автору, возможно он тебе объяснит причину...
 

Labutin

Новичок
Я попробовал такое правило:
rewrite ^(.*/)(\w+)$ $1$2/ redirect;
вроде помогает.
 
Сверху