Пишу в продолжении этой темы. Выяснилось, что т.к. интерпретатор php работает как cgi, для выдачи статуса страницы нужно использовать вместо Header("HTTP/1.0 200 OK"); такую штуку header('Status: 200 Ok'); Статус с 404-го на 200-й поменялся, но теперь в IE появился кеш. Я его вырубал такой строчкой header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0'); Теперь, если писать header('Status: 200 Ok'), не знаю как вырубить кеш. В заголовках при этом меняется только статус. Код (Text): Статус: 404 (или 200) HTTP/1.1 404 Not Found (тут соответственно во втором случае тоже 200) Date: Mon, 19 Nov 2007 18:40:33 GMT Content-Type: text/html; charset=windows-1251 Transfer-Encoding: chunked Connection: close Server: Apache/1.3.37 (Unix) Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT Заранее спасибо.
Теперь в IE появился кэш. Это большая проблема. Контент меняется. А люди видят старое содержание. Это происходит после замены Header("HTTP/1.0 200 OK"); на header('Status: 200 Ok'); Вопрос в том, как избавиться от кэша?
Luge спасибо за ссылку. Проблему решил. Но дело оказалось в Last-Modified. В первом посте видно, что там было. Я сделал так header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); Только теперь все страницы имеют в Last-Modified текущее время. Насколько это корректно?
Браузер воспринимает, как свежую информацию, каждый раз, когда ты открываешь страницу. Ты же этого хотел добиться? Чего тогда спрашиваешь? =)
Я понимаю. Это ведь не совсем корректно. Информация может быть и старой. Как такие заголовки воспринимают поисковики?