Ссылки через редирект

Автор Avdenago, 20 марта 2008, 16:43:43

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Avdenago

Давно поднимался актуальный вопрос реализации редиректа внешних ссылок с форума через редирект.

Вашему вниманию простой способ реализации (Хотел оформить все в виде готовой модификации, но как-то не вышло).

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. Было бы желание.


Спасибо за внимание, комментарии приветствуются.

Оригинал на блоге для администраторов SMF

deadbead

1. Эмм.... Может кто-нибуть обяснить что это дает? Зачем это нужно?
2. Почему бы "тутадресвашегофорума" не брать из конфига?
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

Avdenago

1. Для исключения утекания веса страницы - чисто СЕО заморочка.

2. Пробовал. Почему-то не вышло.

Пытался использовать строку

'before' => '<a href="' . $boardurl .'/go.php?url=$1" target="_blank">',

Но не заработало. Может неверно в синтаксисе, но к сожалению не знаю как сделать по другому.



Развивая тему. Может можно обойтись не правкой Subs.php а именно цензурой - таким образом отсеяв внешние, но позволив прямые внутренние ссылки.


deadbead

В в функции в которое это описано есть

global ..., ..., $boardurl, ..., ...

М?
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

Denis

Спасибо за тему! Полезная вещь. Получилось гораздо проще, чем я думал это реализовывать.

Mavn

Avdenago
Тём любые переменные которые ты хочешь использовать типа $scripturl, $boardurl, $context должны сначала объявляться в глобале иначе будут ошибки возникать.
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Avdenago

Да понял я, понял.

Поправить руки не дошли. Там на самом деле не объявлена переменная как глобальная.

поправлю.

Nemo000

Сделал все как написано. Но при переходе по ссылке появляеться содержимое файла go.php
Цитировать< ?php
header('Location: '.urldecode($_GET['url']));
?>
Что не так я делаю?

deadbead

Уберите пробел между "<" и "?"
Это же самый страшный разум во вселенной. Высылайте беспилотный модуль.

Mazzz

Цитата: Avdenago от 20 марта 2008, 16:43:43

НО. Есть один нюанс. Теперь все ссылки обрамленные тегом |url| будут обрабатываться через редирект, даже внутренние. Что может сказаться на внутренней перелинковке, с точки зрения поисковой оптимизации форума.
а если пропарсить этот самый передаваемый $1 на тему $boardurl, и в зависимости от этого подставлять либо с редиректом, либо без?

Mavn

если дополните данное решение то будет только плюс
SimpleMachines Russian Community Team
п.1 Пройду курсы гадалок для определения исходного кода по скриншоту.

п.2 У вас нет желания читать правила раздела, у меня нет желания одобрять темы, которые не соответствуют этим правилам.

Mazzz

ну я пробовал, только осталось понять, как можно пропарсить этот $1, он же не как переменная идет)

Jerry

Можно сделать редирект только внешних ссылок (внутренние будут прямые), если заменить
'content' => '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">$1</a>',
На такой код:
'content' => strstr($1, 'домен_форума') ? '<a href="$1" target="_blank">$1</a>' :  '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">$1</a>',
И это так же с условием: это
'before' => '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">',заменить на
'before' => strstr($1, 'домен_форума') ? '<a href="$1" target="_blank">' : '<a href="http://тутадресвашегофорума/go.php?url=$1" target="_blank">',
strstr($1, 'домен_форума') ищет указанный домен форума в ссылке, если он найдет, но ссылка внутренняя и выводится прямо, а иначе через редирект.

P.S. Вместо домен_форума пишите адрес лучше без "http://", иначе подстрока будет найдена на 0 символе и strstr вернет 0, что расценится как false.
Конечно, можно заменить strstr($1, 'домен_форума') ?на такое
strstr($1, 'домен_форума')===true ?
с тройным "=", который различает false от 0, но проще просто писать без http, чтобы подстрока домена была на 6 символе.

Mazzz

Цитата: Sikes от 28 июня 2008, 23:57:56
Можно сделать редирект только внешних ссылок (внутренние будут прямые), если заменить
...

а ты проверял это?
Просто когда я также пытался сделать, наткнулся на то, что $1 было вовсе не переменной...

bbbbbb

#14
что такое за переманная $1?


стоп, а в чем главный смысл данной заморочки?

если гугл увидет сслыку на вашем форуме внешюю, разве это бдует вред для вас?

SEO прикол в том, что чем болеше гугл перейдет по какой-то ссылке, тем больше он будет выдвегать эту ссылки при поисковом запросе!

но считаеться ли это когда гугл переходит через гедирект?

почему нельзя просто сслки вырубить?

что будет, если ссылки будет иметь вид:

http://www.headlines.ru/gorss.php?http://www.linux.org.ru/jump-message.jsp?msgid=2886973

гугл посчитает, что это ваш форум? тут gorss.php стоит функция fopen как php-proxy работает!  тоесть гугл пойдет гуглить через прокси эту и будет считаться что это ваш форум :)   2funny

в ipb и на cms сделано именно так, точно не помню как там...

в чем смысл редиреката? чтобы выключить все ссылки точнее чтобы внешних не было? и
ли что-то хитрое сделать?


Цитата: Avdenago от 20 марта 2008, 16:43:43
PS. Кстати, именно в этом месте идет формирование и обработка ББ-кода |url|, поэтому если у вас есть свой идеи в оформлении ссылок на форуме вы можете их реализовать. К примеру закрыть ссылки тегом noindex и дописать аттрибут nofollow. Было бы желание.


а если ссылки не в тегэ

как их поставить в [noindex] [/noindex]?


array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<noindex><a href="$1" target="_blank">$1</a><noindex>',
'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)',
),



а что будет лучше:

1)сделать так как описано тут?
2) или добавить чтобы редирект был на главную страницу?


UPD

а как поставить
$brr=getenv("HTTP_REFERER");

сюда
'content' => '<a href="$brr"  target="_blank">$1 </a>',

не получаеться, не могу понять


UPD:


а как экранировать переменную чтоыб потом поставить в масив??




if (strstr($1, 'thedj.org.ua')) {
$dop= "'<a href="http://.org.ua/goo.php?url=$1"  target="_blank">$1 </a>',"

elseif $context['user']['is_admin']){
$dop= "'<a href="$1"  target="_blank">$1 </a>',"
}
else {

}



на перле просто любыми способом можно это сделать, почему на пхп нужно велосипед искать?:)

вот пример, какой язык нужно использовать :)

//Не хулиганим. Тема серъезная. Avdenago/

bbbbbb


if ( strtr($1, 'domenl.com'))   {
$str0 = '<a href="$1" target="_blank">$1</a>';
$str1 = '<a href="$1" target="_blank">';
}

Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in /usr/l/Subs.php on line 1108

как работаеть с переменной $1 ?

вот что бы закрыть внешние ссылки только для гостей:


'content' => $str0,


перед двухмерным масивом  $codes = array(

вставляем:
if ($context['user']['is_admin'])  {
$str0 = '<a href="$1" target="_blank">$1 </a>';
}

else {
$str0 = '<a href="http://mydomen.com/goo.php?url=$1" target="_blank">$1</a>';
}

bbbbbb

#16
зачем сделали язык php ?

надо попросить Жыриновского чтобы он запрелит php ф Российской Федерции! =)

digger®

Цитата: bbbbbb от 02 июля 2008, 21:24:51
зачем сделали религию php ?

надо попросить Жыриновского чтобы он запрелит php ф Российской Федерции! =)
Php не религия, а удобный язык программирования.
Если вы такой умный, найдите себе форум на perl и забавляйтесь с ним.
Со свой стороны могу предложить включить премодерацию ваших, как правило, маловразумительных сообщений.

bbbbbb

если php такой удобный почему вы не скажите как решить данные вопрос с переменной $1? :)


bbbbbb

#20
 специально выделил жирным шрифтом вопрос (посмотрите 6 сообщение назад, считая с этим)

Jerry

#21
Цитата: Mazzz от 29 июня 2008, 04:42:10
а ты проверял это?
Просто когда я также пытался сделать, наткнулся на то, что $1 было вовсе не переменной...
Как "не переменной"? Перед ней же стоит знак $ и она имеет значение. :o
Если бы она не имела значения, то не работала бы вставка этой переменной в адрес ('a href='.$1.'>...'). Так что, всё ОК.
Цитироватьесли php такой удобный почему вы не скажите как решить данные вопрос с переменной $1?
А никаких проблем с ней нет:
Эта переменная содержит содержимое тега. Цитирую комментарий из файла:
Цитироватьcontent: only available for unparsed_content, closed,
           unparsed_commas_content, and unparsed_equals_content.
           $1 is replaced with the content of  the tag.  Parameters
           are repalced in the form {param}.  For unparsed_commas_content,
           $2, $3, ..., $n are replaced.
$1 содержит то, что внутри тега. Остальные ($2 и т.д.) - параметры тега.
Цитироватьгугл посчитает, что это ваш форум? тут gorss.php стоит функция fopen как php-proxy работает!  тоесть гугл пойдет гуглить через прокси эту и будет считаться что это ваш форум   
Не выйдет, он просто открыл страницу fopen, а ссылки уже на ней так и остались внешними. Гугл уйдет с сайта, а этого мы и пытались избежать.

Надо все-таки сделать внешние ссылки неактивными, т.к. через редирект поисковики тоже уходят.

ЦитироватьPhp не религия, а удобный язык программирования.
Если вы такой умный, найдите себе форум на perl и забавляйтесь с ним.
+1

oldcopy

Sikes
Что то не получается по Вашему. Если делать определение внутренних ссылок, то ничего не работает, ругается на $1.
Еще косяк, такой редирект отсекает в ссылке все что после &. Например ссылка сайт/lib/index.php?dn=news&to=art&id=44 переходит как сайт/lib/index.php?dn=news.
Как с этим бороться? У меня форум интегрирован с Danneo, а там все ссылки через &, в итоге не получается дать ссылку на статью, все ссылки ведут в корень раздела.
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

domofor

Цитата: Avdenago от 21 марта 2008, 13:12:20
Для исключения утекания веса страницы - чисто СЕО заморочка.
Цитата: Sikes от 15 июля 2008, 21:19:54
Надо все-таки сделать внешние ссылки неактивными, т.к. через редирект поисковики тоже уходят.

Прочитал всю тему, но не совсем понял как использовать внешние ссылки на благо своего форума. :)

Avdenago

Цитата: dom-forum от 21 июля 2008, 19:13:42
Прочитал всю тему, но не совсем понял как использовать внешние ссылки на благо своего форума. :)

Легко, если они внешние входящие, а не внешние исходящие:) ;)

В данном случае просто попытка "закрыть" от поисковиков исходящие ссылки.

bbbbbb

#25
Цитата: Sikes от 15 июля 2008, 21:19:54
Как "не переменной"? Перед ней же стоит знак $ и она имеет значение. :o
Если бы она не имела значения, то не работала бы вставка этой переменной в адрес ('a href='.$1.'>...'). Так что, всё ОК.

Sikes, вы не поняли!!

надо было сделать чтобы ссылки были через редирект только внешние!! в примере данной темы все ссылки получаються через редирект, а нужно чтобы для 'mydomenl.com' редирект не принимался


почему вот этот код не работает ???
if ( strtr($1, 'mydomenl.com'))   {

>Надо все-таки сделать внешние ссылки >неактивными, т.к. через редирект >поисковики тоже уходят.


никуда они не уходят!!! возможно и уходят ( а возможно себе их записывают, чтобы потом проиндексировать), но  поисковики оставються дальше ваш сайт индексировать...

dm_mb

не уходят если go.php запретить в роботсе
а тема хорошая.. продолжайте господа :))

oldcopy

Согласен, if ( strtr($1, 'mydomenl.com'))  не работает, а очень надо, либо подскажите, как сделать, чтобы редирект не отсекал от ссылок все что после & ?
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

domofor

Цитата: Avdenago от 22 июля 2008, 09:36:27
просто попытка "закрыть" от поисковиков исходящие ссылки.
Цитата: bbbbbb от 22 июля 2008, 09:52:16
никуда они не уходят!!! возможно и уходят ( а возможно себе их записывают, чтобы потом проиндексировать), но  поисковики оставються дальше ваш сайт индексировать...
Так все-таки, за что бьемся господа? Закрываем-не закрываем, уходят-не уходят - это процесс ради процесса? Или редирект как-то положительно влияет на положение форума в поисковых системах? (вроде где-то промелькнула недосказанная мысль о сео). А может это один из методов заставить уйти с форума "подпольных" спамеров? :)

dm_mb

выкидывая внешние ссылки с сайта через редирект который запрешен роботсом, мы решаем проблему перетекания веса страниц на другие ресурсы. ПР и ТИЦ остается с нами. практически в каждой теме на форуме есть ссылки и админы извращаются делая их некликабельними и т.д. а так про это можно забыть. ссылка будет но бот не пойдет по ней. следовательно кусочек вашего ПР не утечет туда..а ведь именно ради этого часто спамят форумы..чтобы с прокаченной страницы получить жирную ссылку со своим анкором.

тут главное разделить внутренние ссылки которые нужны для внутренней перелинковки и внешние. внутренние должны остаться без редиректа.

Avdenago

Да все верно. Уточню в который раз. тИЦ не перетекает. Но поднимает тИЦ неа кого ссылаемся.

Цитата: dm_mb от 23 июля 2008, 11:07:31
тут главное разделить внутренние ссылки которые нужны для внутренней перелинковки и внешние. внутренние должны остаться без редиректа.

Вот это самое главное. Так как в изначальном способе придуманном мною закрываются все, что хуже для внутренней перелинковки. Хотя я думаю достаточно и стандартных средств навигации - благо их много. Но все же.

oldcopy

Проблема в том, что в обсуждении очень часто всплывают ссылки на сторонние ресурсы, делать их некликабельными не вариант,неудобно, особенно если ссылка по теме обсуждения. Но в то-же время на странице может быть до 10-15 внешних ссылок, что не есть хорошо. А внутреннюю перелинковку лучше не трогать, чего в этой теме так и не решили. Неужели никто не знает как сделать?
AUT VIAM INVENIAM AUT FACIAM <или найду дорогу или проложу ее сам (лат.)>

readonly

Вот решение:

array(
  'tag' => 'url',
  'type' => 'unparsed_content',
  'validate' => create_function('&$tag, &$data, $disabled', '
    $data = strtr($data, array(\'<br />\' => \'\'));
    if (stristr($data, "my-domain.ru") === false) $tag[\'content\'] = \'<a href="http://www.my-domain.ru/forum/go.php?url=$1" target="_blank">$1</a>\';
    else $tag[\'content\'] = \'<a href="$1" target="_blank">$1</a>\';
  '),
),
array(
  'tag' => 'url',
  'type' => 'unparsed_equals',
  'after' => '</a>',
  'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
  'disabled_after' => ' ($1)',
  'validate' => create_function('&$tag, &$data, $disabled', '
    if (stristr($data, "my-domain.ru") === false) $tag[\'before\'] = \'<a href="http://www.my-domain.ru/forum/go.php?url=$1" target="_blank">\';
    else $tag[\'before\'] = \'<a href="$1" target="_blank">\';
  '),
),


BIOHAZARD

И ещё немного поизвращаемся над вышеприведённым примером...

array(
  'tag' => 'url',
  'type' => 'unparsed_content',
  'validate' => create_function('&$tag, &$data, $disabled', '
    $data = strtr($data, array(\'<br />\' => \'\'));
    global $boardurl;
    if (stripos($data, $boardurl) !== 0) $tag[\'content\'] = \'<a href="' . $boardurl . '/go.php?url=$1" target="_blank" rel="nofollow">$1</a>\';
    else $tag[\'content\'] = \'<a href="$1">$1</a>\';
  '),
),
array(
  'tag' => 'url',
  'type' => 'unparsed_equals',
  'after' => '</a>',
  'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
  'disabled_after' => ' ($1)',
  'validate' => create_function('&$tag, &$data,  $disabled', '
  global $boardurl;
    if (stripos($data, $boardurl) !== 0) $tag[\'before\'] = \'<a href="' . $boardurl . '/go.php?url=$1" target="_blank" rel="nofollow">\';
    else $tag[\'before\'] = \'<a href="$1">\';
  '),
),


1. Добавлено $boardurl, чтоб ручками каждому не писать
2. Используется
stripos($data, $boardurl) !== 0
вместо
stristr($data, "my-domain.ru") === false
чтобы адрес уж точно начинался с нашего адреса
3. Добавил rel="nofollow", но это уже для параноиков (для меня)
4. Убрал таргет у внутренних ссылок, как мне кажется, так  удобнее посетителям

Кажется пора уже из этого мод сделать и выложить здесь и на см.орг
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

readonly

BIOHAZARD, сенкс. Поправлю.

BIOHAZARD

Ещё несколько мелких штрихов для завершения работы.

Проблема – при переходе на внешний адрес, в котором есть символ &, всё что следует после этого символа скриптом перенапрвления (go.php) откидывается

Решение
Немного поизвращаемся над вышеприведённым примером...
go.php?url=$1
заменяем на
go.php?$1
(в двух местах)

файл go.php имеет теперь следующее содержание

<?php
header
('Location: '.urldecode($_SERVER['QUERY_STRING']));
?>


Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

otshelnik

#36
Тема очень актуальна, но беда в том что я не нашел в файле Source/Subs.php
кода :
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)',
         ),

Я прикрепил к сообщению свой файл Subs.php
Буду благодарен, если активные участники поста произведут в нем необходимые изменения для преобразования внешних ссылок через редирект.
**********************************************
к сожалению в кодах совершенно не разбираюсь.

BIOHAZARD

ищи просто
'tag' => 'url'
рядом будет оно, возможно у тебя просто моды чегой–то подправили, теперь не ищется
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

BIOHAZARD

может пора обновить форум до последней версии? а то у тебя SMF 1.0.8 стоит

И не хорошо прятать копирайты!
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

digger®

Цитата: otshelnik от 01 апреля 2009, 17:09:32

Обсуждаете у себя на форуме "Защиту авторских прав художника", а сами сидите на ворованном форумном движке.
Позор. Никто таким помогать не будет.

otshelnik

Цитата: BIOHAZARD от 01 апреля 2009, 19:05:40
может пора обновить форум до последней версии? а то у тебя SMF 1.0.8 стоит
я пытался однажды обновить, но у меня перестал работать форум.
так что я вернул как было и больше обновлять не пытался.
однако, благодарю всех за помощь.

trehol

#41
К сожалению для версии 2.0RC1 фрагмента кода из шапки не нашел.
Готовых модов почему то тоже нет.
Прошу помощи , т.к. занимаюсь совершенно другой областью знаний.
Есть похожий фрагмент кода:
array(
'tag' => 'url',
'type' => 'unparsed_content',
'content' => '<a href="$1" class="bbc_link new_win" 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" class="bbc_link new_win" target="_blank">',
'after' => '</a>',
'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
'disabled_after' => ' ($1)',
),

скорее всего измененный модом...

BIOHAZARD

Готового мода и нет. Всё вручную делается.
Следов модов в твоём коде не наблюдается, просто версия форума другая.
Разница только на class="bbc_link new_win" , так что можно считать, что никакой :о)
Для начала просто попробуй заменить свой код на мой (не забудь создать go.php в корне сайта), если что не понравится, тогда уж извращайся.
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

trehol

Цитата: BIOHAZARD от 05 апреля 2009, 14:00:18
Готового мода и нет. Всё вручную делается.
Следов модов в твоём коде не наблюдается, просто версия форума другая.
Разница только на class="bbc_link new_win" , так что можно считать, что никакой :о)
Для начала просто попробуй заменить свой код на мой (не забудь создать go.php в корне сайта), если что не понравится, тогда уж извращайся.
Спасибо , работает!

BIOHAZARD

Не за что. Заходите ещё :о)
Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

trehol

#45
Блин... А как корректно закрыть go.php ?
Если Disallow: /go.php , то не работает.
Если User-agent: Yandex
Disallow: /go.php
, то работает , но как то не звучит...
Может в go.php вставить noindex ?

Сейчас go.php
<?php
header
('Location: '.urldecode($_SERVER['QUERY_STRING']));
?>

Код Subs.php этот.
В роботсе
ЦитироватьDisallow: /go.php
Результат
Используемые секцииСтрока
31-32: User-agent: Yandex
Sitemap: http://mydomain.com/forums/index.php?action=sitemap;xml
Результаты проверки URLURL Pезультат
http://mydomain.com/go.php?http://www.trash.ru разрешен

trehol

А если
User-agent: Yandex
Sitemap: http://mydomain.com/forums/index.php?action=sitemap;xml
Disallow: /go.php

То
Используемые секцииСтрока
30-32: User-agent: Yandex
Sitemap: http://mydomain.com/forums/index.php?action=sitemap;xml
Disallow: /go.php
Результаты проверки URLURL Pезультат
http://mydomain.com/go.php?http://www.trash.ru запрещен правилом /go.php

BIOHAZARD

User-agent: *
Disallow: /go.php
Sitemap: http://mydomain.com/forums/index.php?action=sitemap;xml

Мои моды:
  • RedirectPage
  • Counters
  • CustomSearch
  • SypexDumper
   адаптирую темы    1.1.хx<=>2.0задавая вопросы, старайтесь сразу указывать конечную цель, предполагаемый Вами путь не обязательно окажется самым коротким

Любые моды на заказ

trehol


trehol

Цитата: trehol от 05 апреля 2009, 16:37:31
Спасибо , работает!
Глянул логи - прорва ошибок.
Цитировать8: Undefined variable: boardurl

Файл: /home/mydomain/public_html/forums/Sources/Subs.php
Строка: 1510
==>1510:     if (stripos($data, $boardurl) !== 0) $tag[\'content\'] = \'<a href="' . $boardurl . '/go.php?$1" target="_blank" rel="nofollow">$1</a>\';

Цитировать8: Undefined variable: boardurl

Файл: /home/mydomain/public_html/forums/Sources/Subs.php
Строка: 1522
==>1522:     if (stripos($data, $boardurl) !== 0) $tag[\'before\'] = \'<a href="' . $boardurl . '/go.php?$1" target="_blank" rel="nofollow">\';


Фрагмент используемого Subs.php
1502: 'disabled_after' => '',
1503: ),
1504: array(
1505:   'tag' => 'url',
1506:   'type' => 'unparsed_content',
1507:   'validate' => create_function('&$tag, &$data, $disabled', '
1508:     $data = strtr($data, array(\'<br />\' => \'\'));
1509:     global $boardurl;
1510:     if (stripos($data, $boardurl) !== 0) $tag[\'content\'] = \'<a href="' . $boardurl . '/go.php?$1" target="_blank" rel="nofollow">$1</a>\';
1511:     else $tag[\'content\'] = \'<a href="$1">$1</a>\';
1512:   '),
1513: ),
1514: array(
1515:   'tag' => 'url',
1516:   'type' => 'unparsed_equals',
1517:   'after' => '</a>',
1518:   'disallow_children' => array('email', 'ftp', 'url', 'iurl'),
1519:   'disabled_after' => ' ($1)',
1520:   'validate' => create_function('&$tag, &$data,  $disabled', '
1521:   global $boardurl;
==>1522:     if (stripos($data, $boardurl) !== 0) $tag[\'before\'] = \'<a href="' . $boardurl . '/go.php?$1" target="_blank" rel="nofollow">\';
1523:     else $tag[\'before\'] = \'<a href="$1">\';
1524:   '),
1525: ),
1526: array(
1527: 'tag' => 'u',
1528: 'before' => '<span class="bbc_u">',
1529: 'after' => '</span>',
1530: ),
1531: array(
1532: 'tag' => 'white',
1533: 'before' => '<span style="color: white;" class="bbc_color">',
1534: 'after' => '</span>',
1535: ),
1536: );
1537:
1538: // This is mainly for the bbc manager, so it's easy to add tags above.  Custom BBC should be added above this line.
1539: if ($message === false)
1540: {
1541: if (isset($temp_bbc))
1542: $bbc_codes = $temp_bbc;