имхо, 304 ответ лучше как раз для ботов
сам недавно этим заинтересовался, попробуйте заголовками:
$d='дата создания страницы'
$lm=gmdate('D, d M Y H:i:s',$d).' GMT';
if(isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
{
$ims=preg_replace('/;.*$/', '', $_SERVER['HTTP_IF_MODIFIED_SINCE']);
if($ims==$lm)
header('HTTP/1.0 304 Not Modified');
exit;
}
header('Last-Modified: '. $lm);
+обычный вывод,
тогда действительно "старые" страницы будут оседать в кэше поисковиков, прокси и браузеров => будет всем щасье.
пессимизация или нет, но в топ вылазит просто всякий хлам, с 1-3 словами запроса на весь сайт, вместо тематического ресурса. Буду верить, что все станет на круги своя...
такая же ситуация с некоторыми ресурсами, грустно...
у хостера safemode, ищу пути решения...
почитайте здесь http://www.htaccess.ru/wiki/Redirects?v=qxo
в оригинале прилагающейся статьи написано, что это при условии что на странице-"спонсоре" не более 50 исходящих.
думал, может через putenv http://ru2.php.net/manual/ru/function.putenv.php, но похоже с этим проблемы:
trying to change timezones using putenv:
In my case (php 4.2.2) (redhat 2.4.21-1.1931.2.274) TZ does not show up in either the PHP or Linux environment. I'm not sure what the format for TZ is. I tried TZ=EST5EDT. It seemed to work. When I started a session with another browser, it worked there too. Even though I didn't change the environment there.... Hmmm.
When I ran the test without the putenv... the date() function would sometimes show CST (my zone), sometimes EST. Every time I reloaded the page, the time would change zones. All times from a database - not time() time.
Restoring my TZ=CST didn't help. The times would still switch back and forth.
I finally restarted Apache. That worked. The times are now stable.
I think the only solution is subtracting (or adding) the appropriate time difference from the time stamp.,
что делать? кто-нибудь может что-нибудь сказать?
её и имел в виду, только как реализовать в php 4?
плюс здесь почитай про проблемы /ru/forum/107263