Skip to content

Целый день листаю google, ответов много, но ни один, почему-то, у меня не работает. В общем, вопрос такой: надо, чтобы внешние ссылки, опубликованные на форуме, при наведении на них мыши выводились как http://mysite.ru/go/?http://....

 

Перепробовал несколько вариантов: через .htaccess у меня не вышло, через go.php и /go/index.php тоже не вышло. Ссылки остались в первоначальном виде. Помогите решить проблему!

Featured Replies

После реализации нужно сбросить кеш бибикодов.

  • Author

@newbie, не выходит. Может подскажите рабочий вариант?

  • Author

Тестировал анонимайзер ссылок, но это не то.

 

Нужно просто решение, чтобы:

 

вместо этого на моем форуме:

http://сторонний_сайт.ру

 

было это:

 

http://мой_сайт.ру/go/http:/сторонний_сайт.ру

В инете много есть решений, но почему-то в половине из них каждую ссылку нужно править руками, а в другой половине - нужно устанавливать какие-то подозрительные плагины сторонних CMS.

Для 3.2.x - 3.3.x

Открыть /admin/sources/classes/bbcode/custom/defaults.php

Найти

	if( count($rels) )
	{
		$rel = " rel='" . implode( ' ', $rels ) . "'";
	}

Выше добавить

	/* Redirect external links */
	if ( ! stristr( $option, $_SERVER['HTTP_HOST'] ) )
	{
		$option = $this->settings['board_url'] . '/go/?' . $option;
	}

 

Для 3.4.x

http://ipbskins.ru/forum/topic13187.html/page__view__findpost__p__90472

 

Сбросить кеш постов.

  • Author

@siv1987, получилось! Вот только при переходе по внешней ссылке, пишет:

 

[#404] К сожалению, не удалось найти запрашиваемую вами страницу. Пожалуйста вернитесь на главную страницу форума. 

Ну дык создайте папку /go/ и добавьте в ней index.php

 

<?php

$url = $_SERVER['QUERY_STRING'];
if( $url )
{
   header('Location: '.$url);
   exit;
}

?>

  • Author

@siv1987, всё, спасибо Вам! Теперь всё работает! Кстати, в инете такого решения я вообще не видел!

  • Author

Обновил все кэши, но старые внешние ссылки так и остались в первоначальном виде.

Управление кешем -> Сообщений в кеше

  • Author

@siv1987, сбросил до нуля, но пока безрезультатно! Сижу, думаю...

  • Author

Я хотел сказать, что не во всех сообщениях сработало.

  • Author

Ну дык создайте папку /go/ и добавьте в ней index.php

У меня данная структура не работала, даже не знаю почему. Поставил вот такую и всё заработало:

 

<?php
if( !empty($_SERVER['QUERY_STRING']) )
{ 
   $re_addr = $_SERVER['QUERY_STRING']; 
   header('Location: '.$re_addr);
} 
?>

У меня данная структура не работала, даже не знаю почему. Поставил вот такую и всё заработало:

Это абсолютно то же самое, за исключением имени переменной $re_addr.

  • Author

@siv1987, я понял, почему ваш вариант index.php не работал. У вас после exit не стоят скобки () ;)

  • 3 weeks later...
  • Author

Ребят, в продолжение темы, хотелось бы спросить помощи в реализации такой структуры.

Из сообщения #5 после сброса кеша сообщений, все внешние ссылки стали вида:

http://мой_сайт.ру/go/?http://сторонний_сайт.ру

 

И все вроде ничего, но хотелось бы доработать идею до вида, как на ЯПе:

http://yaplakal.com/go/?http%3A%2F%2Fmuz4in.net

, где мы видим, что во внешней части ссылки все двоеточия и слэши заменены символами. Вот помогите реализовать такое же, а то как-то напрягает, когда в одной казалось бы ссылке несколько протоколов! Спасибо заранее :)

Create an account or sign in to comment

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.