Перейти к контенту

Редирект для ипб 2.3.4


Рекомендуемые сообщения

Нужен обычный мод редиректа (с noindex или redirect.php в ссылках). Предложение от Sannis`a сделать готовый вариант поступило ещё оказывается давно тут.

Освежим память, того что нужно:

1. Нужно что бы все ссылки преобразовывались в вид mysait.ru/redirect.php?http://drsait.ru

2. Нужно что бы такие ссылки были закрыты поисковикам.

3. Нужно чтобы при редактирования в поле возвращалась только ссылка _http://drsait.ru

4. Нужно чтобы в профиле тоже был редирект (как предложил Сross тут )

5. В подписи тоже должен быть редирект.

 

Все кто за модификацию давайте скинемся и оплатим её Sannis`у (я надеюсь он всё ещё готов взяться за её исполнение)

 

Уже работающий пример есть к примеру тут (делалось как я понял Sannis`ом)

 

З.Ы. что можно, но но не обезательно.

1. шифровать полученные ссылки (с возможностью отключать эту опцию) например как у меня в блоге (загляните к примеру в "ссылки")

 

Вобщем готов оплатить, буду рад кто присоединиться

Ссылка на комментарий
Поделиться на других сайтах

К вопросу: вы знаете публичный редирект, который нормально переваривает кирилицу в ссылках?
Ссылка на комментарий
Поделиться на других сайтах

Т.е. redirect.php предлагается также написать? :D
Ссылка на комментарий
Поделиться на других сайтах

Если дадите сам redirect.php, то останется только добавить несколько строк в стандартный парсер URL'ов.)

 

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

Изменено пользователем WildRAID
Ссылка на комментарий
Поделиться на других сайтах

могу выложить исходник редиректа для вордпресса. В личку или куда-нибудь :D

Выкладывайте, ибо мне важно, писать ли в инструкции урленкод или нет ;) Ибо всё остальное уже нескольок раз писалось/переписывалось/обрастало настройками,

 

P.S. 2 all: Одного не могу понять: почему люди, которые бегают и переживают из-за своего рейтинга в поисковиках, внешних ссылках, которые портят их позиции, о рекламе, которая из-за этого приносит меньше дохода не могут скинуться и себя порадовать? Или все как всегда хотят полной халявы? Или думают что этот так дорого, что лучше и не собирать? Вы скажите, мы вмиг рассеим ваши сомнения и предрассудки.

Ссылка на комментарий
Поделиться на других сайтах

Выкладываю навсякий случай всё. Если что поудаляешь. (копирайты и т.п - всё наместе)

сам плагин для вордпресса

<?php
/*
Plugin Name: External redirect (J)
Plugin URI: _http://blog.jawsik.com/wordpress/external-redirect.php
Description: Этот плагин делает все ваши внешние ссылки внутренними. При этом он так же кодирует их, чтобы их не было видно. Собственно всё. Остальное читатайте в readme.txt
Author: Zubenko Maksim  <work@jawsik.com>
Contributor: JawsIk <work@jawsik.com>
Author URI: _http://blog.jawsik.com/
Version: 1.6.1 beta
*/

/*
Этот плагин делает все ваши внешние ссылки внутренними. При этом он так же кодирует их, чтобы их не было видно. Собственно всё. Остальное читатайте в readme.txt
*/

function jawsikextred_global (){
// Ниже поставьте свой тег REL для того, чтобы делать свои ссылки
// в которых плагин не будет вставлять редирект (замените имя на своё)
// менять имя нужно для того, чтобы вас не "хакали" в комментах, зная
// определённый REL. Здесь вы сами ставите имя этого REL и поэтому знать его
// будете только вы.

// названия могут быть какие угодно:
//									$name_rel  = "i love jawsik";
//									$name_rel  = "my7743223";
//
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!! МЕНЯТЬ ТОЛЬКО ЗДЕСЬ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

$name_rel = "goodlink";								// то имя, про которое говорил выше
$exr_excerpt = "yes";							// замена в выдерже
$exr_content = "yes";							// замена в постах и страницах
$exr_comment = "yes";						// замена в комментариях
$exr_a_comment = "yes";					// замена в ссылках на страницы авторов комментариев
$exr_bookmarks = "yes";						// замена в BlogRoll

// !!!!!!!!!!!!!!!!!!!!!!!! Дальше, если не шарите, то лучше НИЧЕГО НЕ ТРОГАТЬ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!



$exr_plugin_path = "http://" . $_SERVER['HTTP_HOST'] . "/wp-content/plugins/extredj/";

$your_rel = 'rel="'.$name_rel.'"';

$exr_mass = compact("your_rel", "exr_excerpt", "exr_content", "exr_comment", "exr_a_comment", "exr_bookmarks", "name_rel", "exr_plugin_path");

return $exr_mass;
}

function jawsikextred ($data)
{
	extract (jawsikextred_global());

	$main = get_settings("home");
		preg_match_all('#<a .*?href=([\"\'])((https?|ftp):\/\/\S*?)\\1.*?>.*?<\/a>#im',$data,$arr);

		for ($i =0 ; $i<count($arr[0]); $i++) {
			if (jawsik_ext_check_main ($arr[2][$i])) {
				if (!stristr($arr[0][$i], $your_rel) AND !stristr($arr[0][$i], 'java script:') AND !stristr($arr[0][$i], 'jawsik.com')) {

					if (stristr($arr[0][$i], $main)) $bl = 0; else $bl = 1;
					$tmp = str_replace($arr[1][$i].$arr[2][$i].$arr[1][$i], $arr[1][$i]."http://zaandr.spb.ru/go/?ext=".base64_encode($arr[2][$i]).$arr[1][$i],$arr[0][$i]);
					if (!stristr($tmp, '"_blank"') AND $bl != 0) $tmp = str_replace('<a','<a target="_blank"',$tmp);

                       $tmp = str_replace('[main]', $exr_plugin_path, $tmp);
					$data = str_replace($arr[0][$i],$tmp,$data);
				}
			}
		}
$data = preg_replace("/rel=.".$name_rel.". ?/i", "",$data);
return $data;
}

// эта функция проверяет начало ссылки, чтобы совпадало с параметром get_settings("home");
// сделано это для того, чтобы так же переделывать ссылки например социальных закладок, где будут
// в самой ссылке могут быть параметры и присутствовать URL вашего сайта, поэтому функция проверяет
// это ссылка внутренняя или это просто параметр.
function jawsik_ext_check_main ($par){
$main = get_settings("home");
$kolvo = strlen($main);
$kolvo_par = strlen($par);
if ($kolvo_par>=$kolvo) {
	$ok = true;
	$dolya = substr($par, 0,$kolvo);
	if ($main == $dolya) $ok = false;
}
	else $ok = true;

return $ok;
}

function j_comment_autor_link ($data)
{
	extract (jawsikextred_global());
	$data = "http://zaandr.spb.ru/go/?ext=".base64_encode($data);
	return $data;
}

function j_exr_bookmarks ($databookma) {
	extract (jawsikextred_global());

if ($exr_bookmarks == "yes") {
	$main = get_settings("home");
	for ($i =0 ; $i<count($databookma); $i++) {
		if (!stristr($databookma[$i]->link_url, 'jawsik.com')){
			$databookma[$i]->link_url = str_replace('http://','',$databookma[$i]->link_url);
			$databookma[$i]->link_url = 'http://zaandr.spb.ru/go/?ext='.base64_encode('http://'.$databookma[$i]->link_url);
			if(!$databookma[$i]->link_target){
				$databookma[$i]->link_target = '_blank';
			}
		}
	}
}
return $databookma;
}

function j_exr_excerpt ($data) {

	extract (jawsikextred_global());
	if ($exr_excerpt == "yes") $data = jawsikextred ($data);

	return $data;
}

function j_exr_content  ($data) {

	extract (jawsikextred_global());
	if ($exr_content == "yes") $data = jawsikextred ($data);

	return $data;
}

function j_exr_comment ($data) {

	extract (jawsikextred_global());
	if ($exr_comment == "yes") $data = jawsikextred ($data);

	return $data;

}

function j_exr_a_comment ($data) {

	extract (jawsikextred_global());
	if ($exr_a_comment == "yes") $data = jawsikextred ($data);

	return $data;
}


add_action('the_excerpt', 'j_exr_excerpt',10001);									// выдержка
add_action('the_content', 'j_exr_content',10001);									// замена в постах
add_filter('comment_text', 'j_exr_comment',10001);							// замена в комментах
add_filter('get_comment_author_link', 'j_exr_a_comment',10001);		// замена в ссылках авторов комментов
   add_filter('get_comment_author_url', 'j_comment_autor_link',10001); // тоже комменты (и такие бываеют темы)
add_filter('get_bookmarks', 'j_exr_bookmarks',10001);						// замена в блогролле (подсказал unodj : www.eklmn.org)

?>

непосредственно фаил редиректа

<?
$ext = $_GET['ext'];
   $ext = base64_decode($ext);

   $ext = str_replace("\'","%27",$ext);
$ext = str_replace("&","&",$ext);
$ext = str_replace("&","&",$ext); // возможно поможет парню под ником PAIIITET

@header("Location: ".$ext);
@header("HTTP/1.1 302 Moved");
?>

 

ЗЫ. Sannis, я может бегаю и переживаю, но у меня полностью некомерческий проект. И всё делаю я сам. Но платить я был готов ибо уважаю чужой труд.

Ссылка на комментарий
Поделиться на других сайтах

Сделаю вариант и с base64...

 

ЗЫ. Sannis, я может бегаю и переживаю

Обратите внимание, мой постскриптум был не вам адресован :D

Ссылка на комментарий
Поделиться на других сайтах

с base64 я считаю надо делать только с отключением этой возможности. Потому что некоторые недробпорядочные люди буду постить разные некоректные ссылки на партнерки, адулт.. и так их будет неразглдеть.

Вобщем надо обдумать этот вопрос

Ссылка на комментарий
Поделиться на других сайтах

Могу сделать варианты кодирования в настройках(base64/urlencode/без кодирования) и вложить в архив разные файлы редиректов для них.

 

Да, мне потому и не нравятся эти кодированные ссылки :D

 

Может быть с началом рабочей недели желающих прибавится...

Ссылка на комментарий
Поделиться на других сайтах

да для общедоступных мест ужоз. А вот для блогов самое то.

Я не знаком что-такое urlencode.

Может быть :D А вобще я не понимаю ка раньше такого мода не было ;) ведь оч ж нуная штуковина!

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
  • 1 месяц спустя...

RC. Можно протестировать.

P.S. Это не тот файл, что был тут час назад.

44__FatCat___URL__Noindex_and_redirect.zip

Ссылка на комментарий
Поделиться на других сайтах

Не забудьте написать о результате, если он положительный.
Ссылка на комментарий
Поделиться на других сайтах

не забудем :D

спасибо, всё работает. Пока на локалхосте. Думаю к ночи полное обновление форума будет завершено.

Понравилось в принципе всё.

1. В установке несложен.

2. Формирования белого списка это хорошо.

3. Выполнив пересчёт обнаружил, что все ссылки имеют нужный вид.

Вобщем, всё как нужно спасибо!

 

P.S. порадовало время создания модификации..

Ссылка на комментарий
Поделиться на других сайтах

P.S. порадовало время создания модификации..

Не злорадствуйте :D

Ссылка на комментарий
Поделиться на других сайтах

Спасибо всё работает нормально.

Такой вопрос, а как сделать что бы переход по ссылке был как редирект на форуме? ну к примеру когда переходишь по ссылки что бы по центру шаблона появлялась рамка и там было написано что то вроде "Через 5 секунд вы будите автоматически переадресованны по адресу такомуто"

Ссылка на комментарий
Поделиться на других сайтах

Это можно сделать, изменяя go.php по своему усмотрению. Прикреплю пример ближе к вечеру :D
Ссылка на комментарий
Поделиться на других сайтах

да, это хорошее предложение. + надо оставить возможностью юзверю вернуть на страницу на которой он был.

ну это и сами мы сможем сделать, в принципе :D

Ссылка на комментарий
Поделиться на других сайтах

да, это хорошее предложение. + надо оставить возможностью юзверю вернуть на страницу на которой он был.

ну это и сами мы сможем сделать, в принципе

А смысл, ссылка же открывается в отдельном окне/вкладке?

Ссылка на комментарий
Поделиться на других сайтах

ну в приципе смысл то канеш да, но вот несознательный юзер щелкает на ссылку Крутой сайтиГ не посмотрев на строку состояния, а мод редиректа ему уже показывает, что он щас попадет на досуг.ну, а ему туда не хочется, а таймер на 5 сек может не успеть дотянуться до верха закрыть страницу/вкладку. Хотя бы остановить возможность выполнения перехода надо оставить.

но в принципе это всё уже дело 10 и легко реалищовать

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.