Давно поднимался актуальный вопрос реализации редиректа внешних ссылок с форума через редирект.
Вашему вниманию простой способ реализации (Хотел оформить все в виде готовой модификации, но как-то не вышло).
1. Создаем файл редиректа. Для примера назовем его go.php.
Содержание данного файла совсем простое - функция header, которая передает браузеру HTTP заголовок.
Итак содержимое файла go.php:
< ?php
header('Location: '.urldecode($_GET['url']));
?>
Если лень. Можно данный файлик скачать:Файл для внешнего редиректа
2. Помещаем созданный файл в корень форума.
3. В файле Source/Subs.php ищем и змаеняем код, который формирует ББ-код [url]
Ищем следующий фрагмент (приблизительно 1500 строка):
array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<a href="$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => '<a href="$1" target="_blank">',
'after' => '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),
Заменяем содержание так, чтобы вышло следующее:
array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">$1</a>',
'validate' => create_function('&$tag, &$data, $disabled', '$data = strtr($data, array(\'<br />\' => \'\'));'),
),
array(
'tag' => 'url',
'type' => 'unparsed_equals',
'before' => '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">',
'after' => '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),
4. Вот и все. Проверяем, должно работать.
НО. Есть один нюанс. Теперь все ссылки обрамленные тегом [url] будут обрабатываться через редирект, даже внутренние. Что может сказаться на внутренней перелинковке, с точки зрения поисковой оптимизации форума.
PS. Кстати, именно в этом месте идет формирование и обработка ББ-кода [url], поэтому если у вас есть свой идеи в оформлении ссылок на форуме вы можете их реализовать. К примеру закрыть ссылки тегом noindex и дописать аттрибут nofollow. Было бы желание.
Спасибо за внимание, комментарии приветствуются.