Редирект внешних ссылок в IPB 3
Вчера обновил один форум на движке IPB (Invision Power Board) до версии 3.1.1 и остался недоволен новым движком (может быть стоило поставить локализованную версию IBR). Более чем за полгода в Интернете практически не появились никаких модификации для форума, а все переводы выполнены с множеством ошибок.
Так что перевод придется поправлять самому, а некоторые моды адаптировать для новой версии данного движка.
Выкладываю простенький хак для редиректа внешних ссылок.
Преимущества данного хака:
• Все внешние ссылки открываются в новом окне, индксация настраивается в админцентре (Системные настройки, Форумы, Темы, сообщения и опросы, Добавлять rel="nofollow" и rel="noindex" к размещенным ссылкам).
• Внутренние ссылки открывается в этом же окне и индексируются поисковиками.
• Внутренними ссылками считаются с поддоменом www и без него.
Далее открываем файл ./admin/sources/classes/bbcode/custom/defaults.php
Ищем код:
И перед данным кодом добавляем:
Архив с папкой:
• Все внешние ссылки открываются в новом окне, индксация настраивается в админцентре (Системные настройки, Форумы, Темы, сообщения и опросы, Добавлять rel="nofollow" и rel="noindex" к размещенным ссылкам).
• Внутренние ссылки открывается в этом же окне и индексируются поисковиками.
• Внутренними ссылками считаются с поддоменом www и без него.
Установка
Папку go вместе с файлом index.php скопируйте в корень форума.Далее открываем файл ./admin/sources/classes/bbcode/custom/defaults.php
Ищем код:
return "<a href='{$option}' class='bbc_url' title='{$_title}'{$rel}>{$content}</a>";
Для версий 3.1.2 и более старых ищем следующий код:return "<a href='{$option}' class='bbc_url' title='{$this->lang->words['bbc_external_link']}'{$rel}>{$content}</a>";
И перед данным кодом добавляем:
if (strtolower(str_replace('www.', '', $_SERVER["HTTP_HOST"])) != strtolower(str_replace('www.', '', parse_url($option, PHP_URL_HOST))))
{
$option = $this->settings['board_url'].'/go/?'.$option;
$rel .= ' target=\'_blank\'';
} else {
$rel = '';
}
{
$option = $this->settings['board_url'].'/go/?'.$option;
$rel .= ' target=\'_blank\'';
} else {
$rel = '';
}
Архив с папкой:
Теги: IPB
Последние изменения: 29 мая 2011
Причина: Поправка в коде, при проверке все символы преобразуются в строчные





















