Dram

Рейтинг
1115
Регистрация
28.06.2008

Если убираю close() ошибка пропадает, редирект проходит медленнее и ответ сервера неправильному урлу становится - 200

Dram добавил 30.11.2011 в 15:58

Chukcha:
header('HTTP/1.1 301 Moved Permanently');


header('Location: '.$url);
exit();



Так правильнее

Chukcha добавил 30.11.2011 в 15:40
Но все же еще нужно знать, что до этого происходит... зачем и почему выполняется close()

Ошибка не пропала

ВОт больше кода

	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();
}

Прописал так:

header('HTTP/1.1 301 Moved Permanently');
exit();
header('Location: '.$url);
}
}

$this->close();

Ошибка не пропала, по прежнему ругается на $this->close();

Попробовал Ваш вариант - ошибка не пропала. Nginx у меня стоит.

Понял, спасибо

Посмотрел внимательнее, там вот еще что есть, для каждого флага вот что

select#translate option[value="ar"] {
background-position: 1px -72px;
}

И так для каждого флага. Вопрос - почему работает только в мозиле

У меня таких строк 1600, посещалка под 20.000 - и ничего :)

вешать статью на меню и прописывать нужный алиас

Вопрос решен, причину не понял, просто перезалил модули и таблицу модулей с сайта где меню отображалось как надо

Спасибо, все вроде установилось, но в информации о php его не видно. И админка Джумлы его не видит. Апач рестартнул

При использовании кеширования контента и запросов к базе у меня сайт на джумле держал 5000 хостов на обычном шаред хостинге.

Сейчас тот же сайт посещают 20.000 хостов - и ничего - все пучком, правдо уже на дедике (но там еще 10 сайтов и все на джумле)

Всего: 6926