Чтобы:
- была возможность избавиться от страниц-дублей;
- всегда твёрдо знать, что параметры URI в location сравниваются
напрямую с URI, пришедшим от пользователя (без преобразований);
- иметь полный контроль над URI, чтобы можно было хотя бы в логе увидеть
подобные запросы;
- URI не всегда совпадает с директориями на диске. У кого-то через
rewrite построены сайты и параметры передаются как директории:
www.example.com/search/search_words-sdfsfs%2F../param1-123/param2-312
(слишком неграмотный пример получился, но в данном случае пойдет);
- не навязывать администраторам nginx парсинг URI без возможности его
отключения.
Зачем навязывать такую
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.