<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=KOI8-R" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Igor Sysoev wrote:
<blockquote cite="mid20050922193750.P11371@is.park.rambler.ru"
type="cite">On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
<br>
<br>
<blockquote type="cite">Чтобы:
<br>
- была возможность избавиться от страниц-дублей;
<br>
</blockquote>
<br>
Где - на сайте или в ссылках ?
<br>
</blockquote>
Везде. В том числе в поисковиках.<br>
<blockquote cite="mid20050922193750.P11371@is.park.rambler.ru"
type="cite"><br>
<blockquote type="cite">- всегда твёрдо знать, что параметры URI в
location сравниваются напрямую с URI, пришедшим от пользователя (без
преобразований);
<br>
</blockquote>
<br>
Ну, например, частный случай: /page.html и //page.html. Что
предлагается
<br>
делать со вторым ?
<br>
</blockquote>
Оставлять как есть и обрабатывать все location как есть, даже если это
вызовет 404.<br>
<blockquote cite="mid20050922193750.P11371@is.park.rambler.ru"
type="cite"><br>
<blockquote type="cite">- иметь полный контроль над URI, чтобы можно
было хотя бы в логе увидеть подобные запросы;
<br>
</blockquote>
<br>
%request пишет в лог оригинальный URI.
<br>
</blockquote>
Это значит, что при подсчёте статистики будет некоторая погрешность,
так как никто никогда не делает обработку a-la shell для директорий в
URI при обработке логов.<br>
<blockquote cite="mid20050922193750.P11371@is.park.rambler.ru"
type="cite">
<blockquote type="cite">- не навязывать администраторам nginx парсинг
URI без возможности его отключения.
<br>
</blockquote>
<br>
А как же URI обратывать, если его не парсить ? Как его потом сравнивать
с location ?
<br>
</blockquote>
Под парсингом в данном случае я имел в виду автоматические замены для
каталогов:<br>
<ul>
<li>два и более слэша преобразуются в один слэш: "//" — "/";
</li>
<li>убираются ссылки на текущий каталог: "/./" — "/";
</li>
<li>убираются ссылки на предыдущий каталог: "/dir/../" — "/".</li>
</ul>
Вообще в наше время считать, что URI является прямым отображением на
директории на диске, -- прямая ошибка. Это уже давно не актуально. На
большинстве крупных ресурсов URI внутри обрабатывается (переписывается
rewrite и пр.) и с именем файла не совпадает.<br>
<br>
Также очень интересен вариант, когда в URI передаётся параметр для
редиректа на другой сайт (двойной слэш). Так тоже делают, но этот
вариант не будет работать с nignx.<br>
<br>
Именно поэтому очень хочется иметь возможность влиять на поведение
nginx в этом вопросе.<br>
</body>
</html>