Если убираю close() ошибка пропадает, редирект проходит медленнее и ответ сервера неправильному урлу становится - 200
Dram добавил 30.11.2011 в 15:58
header('HTTP/1.1 301 Moved Permanently'); header('Location: '.$url); exit();
Ошибка не пропала
ВОт больше кода
function redirect( $url, $msg='', $msgType='message', $moved = false ) { // check for relative internal links if (preg_match( '#^index[2]?.php#', $url )) { $url = JURI::base() . $url; } // Strip out any line breaks $url = preg_split("/[\r\n]/", $url); $url = $url[0]; // If we don't start with a http we need to fix this before we proceed // We could validly start with something else (e.g. ftp), though this would // be unlikely and isn't supported by this API if (!preg_match( '#^http#i', $url )) { $uri =& JURI::getInstance(); $prefix = $uri->toString(Array('scheme', 'user', 'pass', 'host', 'port')); if ($url[0] == '/') { // we just need the prefix since we have a path relative to the root $url = $prefix . $url; } else { // its relative to where we are now, so lets add that $parts = explode('/', $uri->toString(Array('path'))); array_pop($parts); $path = implode('/',$parts).'/'; $url = $prefix . $path . $url; } } // If the message exists, enqueue it if (trim( $msg )) { $this->enqueueMessage($msg, $msgType); } // Persist messages if they exist if (count($this->_messageQueue)) { $session =& JFactory::getSession(); $session->set('application.queue', $this->_messageQueue); } // If the headers have been sent, then we cannot send an additional location header // so we will output a javascript redirect statement. if (headers_sent()) { echo "<script>document.location.href='$url';</script>\n"; } else { if (!$moved && strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'webkit') !== false) { // WebKit browser - Do not use 303, as it causes subresources reload (https://bugs.webkit.org/show_bug.cgi?id=38690) echo '<html><head><meta http-equiv="refresh" content="0;'. $url .'" /></head><body></body></html>'; } else { // All other browsers, use the more efficient HTTP header method header($moved ='HTTP/1.1 301 Moved Permanently'); header('Location: '.$url); } } $this->close(); }
Прописал так:
Ошибка не пропала, по прежнему ругается на $this->close();
Попробовал Ваш вариант - ошибка не пропала. Nginx у меня стоит.
Понял, спасибо
Посмотрел внимательнее, там вот еще что есть, для каждого флага вот что
И так для каждого флага. Вопрос - почему работает только в мозиле
У меня таких строк 1600, посещалка под 20.000 - и ничего :)
вешать статью на меню и прописывать нужный алиас
Вопрос решен, причину не понял, просто перезалил модули и таблицу модулей с сайта где меню отображалось как надо
Спасибо, все вроде установилось, но в информации о php его не видно. И админка Джумлы его не видит. Апач рестартнул
При использовании кеширования контента и запросов к базе у меня сайт на джумле держал 5000 хостов на обычном шаред хостинге.
Сейчас тот же сайт посещают 20.000 хостов - и ничего - все пучком, правдо уже на дедике (но там еще 10 сайтов и все на джумле)