Перейти к содержимому


* * * * * 1 Голосов

PHP-редирект ссылок


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1 -TNT-

-TNT-
  • Пользователь

  • Динозавр Форума
  • 221 сообщений

Отправлено 16.12.2007 - 12:56

В инете нашёл скрипт редиректа:

Цитата

Как поднять PR
Формула расчета PR: значение PR пропорционально количеству страниц сайта, оно увеличивается числом ссылок на ваш сайт, размещенных на других сайтах, и уменьшается ссылками, уходящими с вашего сайта. Или, чем выше PR ссылающегося на Вас сайта и таких сайтов становится больше, тем больше становится PR вашего ресурса.
Вывод с выше написанной формулы:
1. Уменьшить количество прямых исходящих ссылок.
2. Сделать так, чтоб было как можно больше ссылок на Ваш сайт (например купить их)
Как уменьшить количество прямых исходящих ссылок:
1. Создаем файл out.php
2. Вставляем в него такой код:
<?
if ((isset($_GET['link'])) AND (preg_match( '/^(http|https)://[a-z0-9]+([-.]{1}[a-z0-9]+)*.[a-z]{2,5}'.'((:[0-9]{1,5})?/.*)?$/i' ,$_GET['link'])))
{
header("Location: ".$_GET['link']."");
}
?>
3. Сохраняем и заливаем в корень сайта.
4. Заменяем все исходящие ссылки:
Была http://site.com/ заменяем на http://vas_site.com/...ttp://site.com/
Таким способом Вы уменьшили количество исходящих ссылок.

Но вместо редиректа, выходит следующая ошибка:

Цитата

Warning: preg_match() [function.preg-match]: Unknown modifier '/' in D:\WebConntent\maxidrom.net\out.php on line 2
Вот пример работы скрипта:
http://maxidrom.net/...k=http://ya.ru/


Помоги исправить ошибку...

Сообщение отредактировал -TNT-: 16.12.2007 - 12:57


#2 AcDie

AcDie
  • 55038-067/06

  • TORRENT Team
  • 2 089 сообщений
  • Пол:Мужчина
  • Город:Москва/Ховрино

Отправлено 28.12.2007 - 02:41

<?
if ((isset($_GET['link'])) AND (preg_match( '/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}'.'((:[0-9]{1,5})?\/.*)?$/i' ,$_GET['link'])))
{
header("Location: ".$_GET['link']."");
}
?>

/ Надо закрывать \

Сообщение отредактировал AcDie: 28.12.2007 - 02:41


#3 -TNT-

-TNT-
  • Пользователь

  • Динозавр Форума
  • 221 сообщений

Отправлено 10.09.2008 - 20:17

Использую другой скрипт:
<?php

if (isset($_SERVER['QUERY_STRING']))
{
	$tmp_url = trim($_SERVER['QUERY_STRING']);
	$tmps = substr($tmp_url, 0, 4);
	if (eregi('ftp', $tmps))
	{
		$pre = 'ftp://';
		$s = 'ftp';
	}
	else
	{
		$pre = 'http://';
		$s = 'http';
	}

	$p = strpos($tmp_url, '/')+1;

	$r_url = substr($tmp_url, $p, strlen($tmp_url));

	$tmp_url = $pre . $r_url;

echo <<<END
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="robots" content="noindex, nofollow">
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://li.ru/go?$tmp_url">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<title>Подождите секунду. Идет перенаправление запроса.</title>
</head>
<body>
Сейчас вы будете перенаправленны на $tmp_url<br>
Если вы не хотите ждать, то перейдите по этой ссылке: <a rel="nofollow" href="$tmp_url" target="_self">$tmp_url</a>
</body>
</html>
END;
	die();
}

?>

Кто может помочь его дописать, сделать учёт IP-адресов. То есть, если пользователь впервые заходит на скрипт, то генерируется html-страница вида №1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="robots" content="noindex, nofollow">
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=http://li.ru/go?$tmp_url">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<title>Подождите секунду. Идет перенаправление запроса.</title>
</head>
<body>
Сейчас вы будете перенаправленны на $tmp_url<br>
Если вы не хотите ждать, то перейдите по этой ссылке: <a rel="nofollow" href="$tmp_url" target="_self">$tmp_url</a>
</body>
</html>
если пользователь повторно заходит на скрипт, то генерируется html-страница вида №2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html lang="ru">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="robots" content="noindex, nofollow">
<META HTTP-EQUIV="Refresh" CONTENT="1; URL=$tmp_url">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<title>Подождите секунду. Идет перенаправление запроса.</title>
</head>
<body>
Сейчас вы будете перенаправленны на $tmp_url<br>
Если вы не хотите ждать, то перейдите по этой ссылке: <a rel="nofollow" href="$tmp_url" target="_self">$tmp_url</a>
Повторно и т.д. и т.п.
</body>
</html>
Сначала идёт запрос к БД, если IP-адрес посетителя там не найден, то он добавляется в список, после чего генерируется html-страница редиректа вида №1, если посетитель повторно появляется на скипте и, следовательно, его IP-адрес есть в БД, то генерируется html-страница редиректа вида №2. В качестве БД файл *.txt.

#4 yeva88

yeva88
  • Новичок

  • Новичок
  • 6 сообщений

Отправлено 17.03.2009 - 04:41

хммм какие "извращения" ради ссылок.

если подойти к вопросу с точки зрения теории:
задача страницы отправить header с location, браузер юзера его скушает и перейдёт. но бывает такое что редиректы у юзера отключены
тогда для страховки можно после отсылки хедеров выдать мета тег с рефрешем 0 секунд - очень часто или одно или другое не срабатывает.
так что первый скрипт желательно дописать.

#5 Mark_A

Mark_A
  • Изучает местность

  • Пользователь
  • 74 сообщений
  • Пол:Мужчина

Отправлено 20.02.2010 - 11:59

В случае редикта идеален скрипт:
<?php
$link = $_GET['link'];
header("Location: $link");
exit();
?>
Вуаля! Работает!

#6 travanna

travanna
  • Пользователь

  • Пользователь
  • 136 сообщений

Отправлено 12.03.2010 - 22:55

Просмотр сообщения-TNT- (10 Сентября 2008, 20:17) писал:

Кто может помочь его дописать, сделать учёт IP-адресов.

http://code.google.c...ackerGuide.html




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей