Делаю страницу для редиректа на внешние ссілки. Есть проблема.

Spear

почемучка
Делаю страницу для редиректа на внешние ссілки. Есть проблема.

Здравствуйте.
я делаю страницу для редиректа на внешние ссілки. Есть проблема.

Код редиректа очень примитивній:

PHP:
<?php
if(isset($_GET['url']))
{
        $outcomingUrl = $_GET['url'];
        header("location: ".$outcomingUrl);
}
else
{
        header("location: [url]http://www.homepage.com[/url]");
}
?>
чтобы перейти на другой сайт через этот скрипт просто пишу:

http://www.homepage.com/redirect.php?url=http://www.a.com

проблема в том, что даный скрипт не позволяет корректно перейти по ссылке:

http://www.a.com/?jump=index&id=111

тоесть по - http://www.homepage.com/redirect.php?url=http://www.a.com/?jump=index&id=111
потому что мой скрипт принимает &id=111 как переменную для себя, а не продолжение $_GET['url']


как бы можно было решить эту проблему?
 

Vasya

Guest
PHP:
<?
$u = "http://www.homepage.com/redirect.php?url=".
	urlencode("http://www.a.com/?jump=index&id=111");
?><a href="<?=$u?>">Click Here</a>
 

Spear

почемучка
Vasya
Эммм... а проще нельзя? Я использую этот редирект для ВСЕХ исходящих ссылок с сайта (в день раз 10 точно юзаю.
Причем в написании новосте и прочего.. так что такой закрученный вариант не кактит :(
 

Vasya

Guest
SiMM, Spear
Точно, можно и не кодируя. Это накладывает некоторые ограничения, но тоже работает.
PHP:
if(isset($_GET['url'])) {
	preg_match("/url=(.*)$/",$_SERVER['REQUEST_URI'],$m);
	if(!empty($m[1])) {
		header("Location: $m[1]");
		exit();
	}
}

header('Location: http://www.homepage.com/');
 
Сверху