Преимущества данного хака:
• Все внешние ссылки открываются в новом окне, индксация настраивается в админцентре (Системные настройки, Форумы, Темы, сообщения и опросы, Добавлять 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 = '';
}
Архив с папкой: [attachment=18]
Поправьте! я голову сломал почему не открывается то что нужно!
То есть лучше:
$option = $this->settings['board_url'].'/go/index.php?url='.$option;
Разницы нет, если грамотно настроен веб-сервер.
http://whymax.ru/go/?http://yandex.ru
Без index.php?url= ссылки красивее, у всех редирект сервисов такие же ссылки.
Вот пример:
Хм но у меня же не работал /go/?http://, вот я и решил написать, думал ошибка 🙂
Можно index.php загрузить в корень форума под именем go.php, а в самом коде написать $option = $this->settings['board_url'].'/go.php?'.$option;
Здравствуйте. Спасибо за скрипт — полезный. Только при ссылке вида допустим WhyMax.ru — делает редирект. Считает — внешей ссылкой. (При использовании заглавных букв)
Попробуйте так:
{
$option = $this->settings['board_url'].'/go/?'.$option;
$rel .= ' target=\\'_blank\\'';
} else {
$rel = '';
}
Извините, но после установки вашего кода в default.php перестали открываться страницы с топиками — белая страница. удаление кода из default.php ничего не дало. чистка кэшей тоже. в чем дело? IPB3.1.4 с ЧПУ
Siri,
Дело не в этом коде, он отвечает только за парсинг ссылок при редактировании сообщений.
Тем более если после удаления кода ничего не изменилось.
На IPB 3.1.4 все работает, проверено многими форумами 🙂
Помогла только установка файла default.php из бэкапа для восстановления работы форума. так в чем же дело? возможно, этот файл как то кэшируется на сервере…
руки из попы у вас просто 🙂 этот скрипт просто "подмазывается" к стандартному функционалу IPB 3.
Ребята, у меня получается статичная страничка редиректа, ссылка на ней не работает — жмешь, и просто страница обновляется… расскажите: почему так, и что делать, пожалуйста)