Редирект HTTP заголовком "Location" 2

Alexey Kalinnikov alexej at tenneta.ru
Tue Jul 22 00:42:12 MSD 2008


  Не так давно (по весне) было уже обсуждение темы о редиректе при
  заголовке "Location". Хотяелось бы еще раз поднять ее.

  Проблема в том, что если необходим редирект (в моем случае
  происходит выполнение fcgi perl) то помимо указания Location
  необходимо обязательно указывать "302 Found", в противном случае
  nginx ставит статус 200. Apache, lighttpd и другие сервера ставят
  302 и все отрабатывается "правильно".

  Достаточно четко проблема прописана как в той теме (Редирект HTTP
  заголовком "Location") так и к примеру в
  http://www.zag.ru/page/item_view/tarakan_tarakan_tarakashechka_zhidkonogaja_kozjavochka_bukashechka.html

  Внимательное изучение RFC 1945 ничего не дало. а гугление выдало
  следующую сентенцию

  "The HTTP status code changes the way browsers and robots handle
  redirects, so if you are using header(Location:) it's a good idea
  to set the status code at the same time. Browsers typically
  re-request a 307 page every time, cache a 302 page for the session,
  and cache a 301 page for longer, or even indefinitely.
  Search engines typically transfer "page rank" to the new location for 301 redirects,
  but not for 302, 303 or 307.

  If the status code is not specified, header('Location:') defaults to 302."


  Нельзя ли в и в nginx добавить данный функционал (возврат кода 302
  вместо 200 если в хедере есть указание Location)? Или может быть кто
  то может подсказать как реализовать его "на стороне веб-сервера"?

  

-- 
Best regards, Alexey







More information about the nginx-ru mailing list