Редирект для ошибки 500

В логе не нахожу описание ошибки. Исправленный код тоже не помогает:
PHP:
<?
$ref=$_SERVER['QUERY_STRING'];
if ($ref=='?format=feed&type=rss')
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://www.ваш сайт.ru/discussions/feed?type=rss');
exit();
?>
Пробовал также коды для .htaccess:
Код:
RewriteCond %{QUERY_STRING} [&\?]format=feed&?
RewriteRule ^(.*)$ http://www.example.com? [R=301,L]
 
RewriteCond %{QUERY_STRING} [&\?]type=atom&?
RewriteRule ^(.*)$ http://www.example.com? [R=301,L]
Тоже не работают.
 
В коде страницы у меня присутствуют две ссылки прямо под тегом <title>:
Код:
<link href="/?format=feed&amp;type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
Обе открываются без ошибок. И содержат данные из статьи, размещенной на главной странице.
Но при этом в компоненте com_newsfeeds у меня никаких лент новостей нет.
Попробуйте разместить на главной статью с одной строчкой текста и посмотрите на результат.
У меня есть небольшая статья на главной. У меня тоже под тегом title две ссылки на ленты:
Код:
<link href="/discuss/latest.html?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/discuss/latest.html?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
Но они на странице /discuss/latest.html
 
У меня есть небольшая статья на главной. У меня тоже под тегом title две ссылки на ленты:
Код:
<link href="/discuss/latest.html?format=feed&type=rss" rel="alternate" type="application/rss+xml" title="RSS 2.0" />
  <link href="/discuss/latest.html?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" />
Но они на странице /discuss/latest.html
А что происходит, если отключить ЧПУ? Пропадает ли ошибка? /discuss/latest.html- это ведь ЧПУ ссылка?
 
  • Заблокирован
  • #14
Страница /discussions/feed?type=rss вообще без ошибки отображается? Если да, то смело делайте тупо редирект. Если в .htaccess редирект с /?format=feed&type=rss на /discussions/feed?type=rss не происходит, то убедитесь что у вас сервер вообще на apache работает. Разрешил ли вообще хостер такое правило в .htaccess?
Ну а жёсткий редирект надо так делать - в index.php прописываем следующее:
PHP:
if(JRequest::getVar('format') == 'feed' && JRequest::getVar('type') == 'rss'){
    header('HTTP/1.1 301 Moved Permanently');
    header('Location: '.JURI::base().'discussions/feed?type=rss');
    exit();
}
Вот ток он тогда все фиды(совсем все) бедет направлять куда указано
 
А что происходит, если отключить ЧПУ? Пропадает ли ошибка? /discuss/latest.html- это ведь ЧПУ ссылка?

Нет, не пропадает.

Extalionez,
Страница /discussions/feed?type=rss отображается без ошибок. Редирект с ошибок 404 удается производить посредством Redirect 301 в .htaccess. Сервер Apache/2.2.17 (Fedora). Ваш код тоже не помогает.
 
  • Заблокирован
  • #16
Что-то я совсем запутался. Для решения этой проблемы нужно следующее:
Во-первых максимально подробно объясни что ты хочешь.
Во-вторых скажи какой шаблон ты используешь.
В-третьих скажи куда именно ты вставлял мой код.
 
Нет, не пропадает.
Тогда попробуйте поставить по умолчанию один из стандартных шаблонов Джумлы, что-нибудь меняется? Отключить все лишнее, что только возможно, скопировать сайт локально и совсем ничего не боясь убрать все кроме чистой Джумлы, взять дистрибутив чистой Джумлы, установить, где удобно, хоть и локально и создать такую же иерархию /discuss/latest (достаточно одной категории и одной статьи) и проверить, каждый раз внимательно сравнивая результаты.
 
Назад
Сверху