Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Редирект ссылок
СообщениеДобавлено: 2011-02-05 17:06 
Не в сети
Администратор
Администратор
Аватара пользователя
Раздал: 51.58 ТБ
Скачал: 620.08 ГБ
Ратио: 85.182


Зарегистрирован: 2010-11-09 02:24
Сообщения: 44886
Откуда: Земля Санникова
еще один редирект внешних ссылок, который запрещен роботсом

Создаем файл go.php со следующим содержанием

Код:
<?php
header('Location: '.urldecode($_GET['url']));
?>


в robots.txt добавить:

Код:
User-agent: *
Disallow: /go.php


в bbcode.php найти
Код:
function make_clickable ($text)
{
   global $bb_cfg;

   $url_regexp = "#
      (?<![\"'=])
      \b
      (
         (https?://|ftp://|www\.|ftp\.)
         [\w\#!$%&~/.\-;:=?@\[\]+]+
      )
      (?![\"']|\[/url|\[/img|</a)
      (?=[,!]?\s|[\)<!])
   #xi";

   $text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);

       // pad it with a space so we can match things at the start of the 1st line.
       $ret = " $text ";

   if ($bb_cfg['parse_ed2k_links'])
   {
      // ed2k file links (Meithar):
      // ed2k://|file|fileName|fileSize|fileHash|(optional params)|(optional params)|etc|
      $ret = preg_replace_callback("#\b(ed2k://\|file\|([^\\/\|:<>\*\?\"]+?)\|(\d+?)\|([a-f0-9]{32})\|(.*?)/?)(?![\"'])(?=([,\.]*?[\s<\[])|[,\.]*?$)#i", "ed2k_link_callback", $ret);
      // ed2k server links:
      // ed2k://|server|serverIP|serverPort
      $ret = preg_replace("#\b(ed2k://\|server\|([\d\.]+?)\|(\d+?)\|/?)\B#i", "<a href=\"\\1\" class=\"postLink\">\\2:\\3</a>", $ret);
   }

   // hide passkey
   $ret = preg_replace('#\?'. $bb_cfg['passkey_key'] .'=[a-zA-Z0-9]{'. BT_AUTH_KEY_LENGTH .'}&#', '?passkey&', $ret);
   // hide sid
   $ret = preg_replace('#([\?&;])sid=[a-zA-Z0-9]{'. SID_LENGTH .'}#', '$1sid', $ret);

   // matches an "xxxx://yyyy" URL at the start of a line, or after a space.
   // xxxx can only be alpha characters.
   // yyyy is anything up to the first space, newline, comma, double quote or <
#   $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" class=\"postLink\">\\2</a>", $ret);
   $ret = preg_replace_callback($url_regexp, 'make_url_clickable_callback', $ret);

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-"
   // zzzz is optional.. will contain everything up to the first space, newline,
   // comma, double quote or <.
#   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" class=\"postLink\">\\2</a>", $ret);

   // matches an email@domain type address at the start of a line, or after a space.
   // Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
   $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\" class=\"postLink\">\\2@\\3</a>", $ret);

   // Remove our padding..
   $ret = substr(substr($ret, 0, -1), 1);

   return($ret);
}

/**
 * Nathan Codding - Feb 6, 2001
 * Reverses the effects of make_clickable(), for use in editpost.
 * - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
 *
 */
function undo_make_clickable($text)
{
   $text = preg_replace("#<!-- BBCode auto-link start --><a href=\"(.*?)\">.*?</a><!-- BBCode auto-link end -->#i", "\\1", $text);
   $text = preg_replace("#<!-- BBcode auto-mailto start --><a href=\"mailto:(.*?)\">.*?</a><!-- BBCode auto-mailto end -->#i", "\\1", $text);

   return $text;

}


заменить на это

Код:
function make_clickable ($text)
{
   global $bb_cfg;

   $url_regexp = "#
      (?<![\"'=])
      \b
      (
         (https?://|ftp://|www\.|ftp\.)
         [\w\#!$%&~/.\-;:=?@\[\]+]+
      )
      (?![\"']|\[/url|\[/img|</a)
      (?=[,!]?\s|[\)<!])
   #xi";

   $text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1:", $text);

   // pad it with a space so we can match things at the start of the 1st line.
   $ret = ' ' . $text;

   if ($bb_cfg['parse_ed2k_links'])
   {
      // ed2k file links (Meithar):
      // ed2k://|file|fileName|fileSize|fileHash|(optional params)|(optional params)|etc|
      $ret = preg_replace_callback("#\b(ed2k://\|file\|([^\\/\|:<>\*\?\"]+?)\|(\d+?)\|([a-f0-9]{32})\|(.*?)/?)(?![\"'])(?=([,\.]*?[\s<\[])|[,\.]*?$)#i", "ed2k_link_callback", $ret);
      // ed2k server links:
      // ed2k://|server|serverIP|serverPort
      $ret = preg_replace("#\b(ed2k://\|server\|([\d\.]+?)\|(\d+?)\|/?)\B#i", "<a href=\"\\1\" class=\"postLink\">\\2:\\3</a>", $ret);
   }

   // hide passkey
   $ret = preg_replace('#\?'. $bb_cfg['passkey_key'] .'=[a-zA-Z0-9]{'. BT_AUTH_KEY_LENGTH .'}&#', '?passkey&', $ret);
   // hide sid
   $ret = preg_replace('#([\?&;])sid=[a-zA-Z0-9]{'. SID_LENGTH .'}#', '$1sid', $ret);

   // matches an "xxxx://yyyy" URL at the start of a line, or after a space.
   // xxxx can only be alpha characters.
   // yyyy is anything up to the first space, newline, comma, double quote or <
   $ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://rustrek.ru/go.php?url=\\2\" target=\"_blank\"  rel=\"nofollow\" class=\"postLink\">\\2</a>", $ret);

   // matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
   // Must contain at least 2 dots. xxxx contains either alphanum, or "-"
   // zzzz is optional.. will contain everything up to the first space, newline,
   // comma, double quote or <.
   $ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://rustrek.ru/go.php?url=http://\\2\" target=\"_blank\" rel=\"nofollow\" class=\"postLink\">\\2</a>", $ret);

   // matches an email@domain type address at the start of a line, or after a space.
   // Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
   $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);

   // Remove our padding..
   $ret = substr($ret, 1);

   return($ret);

}

/**

 * Nathan Codding - Feb 6, 2001
 * Reverses the effects of make_clickable(), for use in editpost.
 * - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
 *
 */
function undo_make_clickable($text)
{
   $text = preg_replace("#<!-- BBCode auto-link start --><a href=\"http://rustrek.ru/go.php?url=(.*?)\" target=\"_blank\">.*?</a><!-- BBCode auto-link end -->#i", "\\1", $text);
   $text = preg_replace("#<!-- BBcode auto-mailto start --><a href=\"mailto:(.*?)\">.*?</a><!-- BBCode auto-mailto end -->#i", "\\1", $text);

   return $text;

}


открыть bbcode.tpl, найти

Код:
<!-- BEGIN url --><a href="{URL}" class="postLink">{DESCRIPTION}</a><!-- END url -->


заменить на это

Код:
<!-- BEGIN url --><a href="http://rustrek.ru/go.php?url={URL}" {NOFOLLOW} target="_blank" class="postlink">{DESCRIPTION}</a><!-- END url -->


Все готово!


Последний раз редактировалось Гость 2011-10-28 18:11, всего редактировалось 4 раз(а).

Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-02-05 17:16 
Не в сети
Администратор
Администратор
Аватара пользователя
Раздал: 51.58 ТБ
Скачал: 620.08 ГБ
Ратио: 85.182


Зарегистрирован: 2010-11-09 02:24
Сообщения: 44886
Откуда: Земля Санникова
да, поменяйте в место http://rustrek.ru , на адрес вашего сайта


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-02-14 18:55 
Не в сети
Раздал: 0 байт
Скачал: 0 байт
Ратио: Inf.


Зарегистрирован: 2011-01-02 18:02
Сообщения: 29
Так правильнее

go.php

Код:
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 Перенаправление
<?php
$url = isset($_REQUEST['url']) ? $_REQUEST['url'] : '';
if(preg_match('#(http?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){
    sleep(0);
    //header("Location: $url");
    echo "<html><head><meta http-equiv=\"refresh\" content=\"0;url=$url\"></head></html>";
    exit();
}
?>


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-02-15 11:20 
Не в сети
Раздал: 0 байт
Скачал: 0 байт
Ратио: Inf.


Зарегистрирован: 2011-01-02 18:02
Сообщения: 29
как обновить в старых топиках одни махом , а то в новых топиках отображаются ссылки через go.php, а в старых остались прямые ссылки


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-02-15 15:58 
Не в сети
Администратор
Администратор
Аватара пользователя
Раздал: 51.58 ТБ
Скачал: 620.08 ГБ
Ратио: 85.182


Зарегистрирован: 2010-11-09 02:24
Сообщения: 44886
Откуда: Земля Санникова
я читал на тп твой последний ответ, я так понимаю, что ты уже решил проблему с этим


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-02-18 07:55 
Не в сети
Раздал: 368.29 КБ
Скачал: 0 байт
Ратио: Seed.


Зарегистрирован: 2010-12-25 17:04
Сообщения: 40
vons4
Написали бы решение.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-03-15 22:00 
Не в сети
Раздал: 1.37 ГБ
Скачал: 279.06 МБ
Ратио: 5.032


Зарегистрирован: 2010-12-13 07:16
Сообщения: 11
http://***************/


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-03-15 22:01 
Не в сети
Раздал: 1.37 ГБ
Скачал: 279.06 МБ
Ратио: 5.032


Зарегистрирован: 2010-12-13 07:16
Сообщения: 11
http://rustrek.ru/privmsg.php?mode=post&u=3785


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-03-15 23:08 
Не в сети
Раздал: 368.29 КБ
Скачал: 0 байт
Ратио: Seed.


Зарегистрирован: 2010-12-25 17:04
Сообщения: 40
еще этот гоу ставился при наведении на ссылку т.файла


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-03-16 01:10 
Не в сети
Администратор
Администратор
Аватара пользователя
Раздал: 51.58 ТБ
Скачал: 620.08 ГБ
Ратио: 85.182


Зарегистрирован: 2010-11-09 02:24
Сообщения: 44886
Откуда: Земля Санникова
ну тут два варианта или кривовато поставил или в твоей версии двига что то уже нового, видать нужно делать под себя отдельно


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 2011-08-31 21:52 
Не в сети
Раздал: 0 байт
Скачал: 0 байт
Ратио: Inf.


Зарегистрирован: 2011-08-28 20:32
Сообщения: 4
admin
а как сделать так, что-бы показывало картинку перенаправления?


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Переместиться наверх
 Главная |  Список форумов |   Time : 3.623s | 16 Queries | GZIP : Off |