nginx-0.1.43 parser error
Igor Sysoev
is at rambler-co.ru
Thu Sep 22 19:46:34 MSD 2005
On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
> Чтобы:
> - была возможность избавиться от страниц-дублей;
Где - на сайте или в ссылках ?
> - всегда твёрдо знать, что параметры URI в location сравниваются напрямую с
> URI, пришедшим от пользователя (без преобразований);
Ну, например, частный случай: /page.html и //page.html. Что предлагается
делать со вторым ?
> - иметь полный контроль над URI, чтобы можно было хотя бы в логе увидеть
> подобные запросы;
%request пишет в лог оригинальный URI.
> - URI не всегда совпадает с директориями на диске. У кого-то через rewrite
> построены сайты и параметры передаются как директории:
> www.example.com/search/search_words-sdfsfs%2F../param1-123/param2-312
> (слишком неграмотный пример получился, но в данном случае пойдет);
location ~ ^/search/ {
proxy_pass_unparsed_uri on;
proxy_pass http://localhost/;
}
> - не навязывать администраторам nginx парсинг URI без возможности его
> отключения.
А как же URI обратывать, если его не парсить ? Как его потом сравнивать
с location ?
> Igor Sysoev wrote:
>
>> On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
>>
>>> Как же тогда избежать проблемы с дублирующимися страницами? Ведь
>>> получается, что для одной и той же страницы можно построить практически
>>> неограниченное число URI:
>>> /one/page.html
>>> /one%2F%2E%2E%2Fone/page.html
>>> /one%2F%2E%2E%2Fone%2F%2E%2E%2Fone/page.html
>>> /one%2F%2E%2E%2Fone%2F%2E%2E%2Fone%2F%2E%2E%2Fone/page.html
>>> и др.
>>
>>
>> Да, и ещё /one/../two/../one/.////page.html
>>
>>> Можно ли как-нибудь выдавать на "кривые" URI 404-ю ошибку?
>>> Другими словами: можно ли в location настроить обработку unparsed uri?
>>> Возможно, кому-то будет интересна и такая логика: сервер на "кривые" URI
>>> выдаёт 301 с правильным URI.
>>
>>
>> А зачем ?
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list