Как же тогда избежать проблемы с дублирующимися страницами? Ведь
получается, что для одной и той же страницы можно построить практически
неограниченное число 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
и др.
Можно ли как-нибудь выдавать на "кривые" URI 404-ю ошибку?
Другими словами: можно ли в location настроить обработку unparsed uri?
Возможно, кому-то будет интересна и такая логика: сервер на "кривые" URI
выдаёт 301 с правильным URI.
Igor Sysoev wrote:
On Thu, 22 Sep 2005, Alexander Gnevshev wrote:
Потому что, proxy_pass работает как alias, то есть, для
location /one/ {
proxy_pass http://localhost/two/;
}
в запросе меняется URI. А URI может быть например, таким:
"/one%2F%2E/page.html". nginx превращает этот URI в /one/page.html,
а proxy_pass - в /two/page.html. Если передавать unparsed uri, то
нужно понять, какая часть в /one%2F%2E/page.html соответствует /one/.