[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: "Ссылки с префиксом"
Phentis
Пишу партнерку заработка на ссылах.

Суть в том, что перед любой ссылкой добавляется префикс системы.

Напрмер, мы хотим оставить ссылку на http://google.ru/
Наша ссылка будет выглядеть так: http://lincker.ru/i3d/http://google.com

i3d - ID пользователя
http://google.com - сайт, который откроется во фрейме

Что мне удалось сделать с помощью людей с nulled.ws, так это реализовать это частично, с помощью .htaccess:

Код
RewriteRule ^i([0-9]+)d/([A-Za-z0-9#\-_\+\.\/&\?=]+)$ to.php?user=$1&url=$2


Всё окей, только ссылки выглядят так: http://lincker.ru/i3d/google.com

Т.е., без префикса http://
Если приписать префикс, то ссылки "не работают".

Как реализовать это всё? Заранее Спасибо!




Спустя 43 минуты, 26 секунд (8.06.2009 - 21:16) kirik написал(а):
Что-то ребята с нуллед намутили..
Код
RewriteRule ^i([0-9]+)d/(.+)$ index.php?user=$1&url=$2 [L]


А вообще лучше перед тем как отдавать ссылку кодировать ее с помощью urlencode(), или же передавать не саму ссылку, а ее ID..

Спустя 16 часов, 48 минут, 56 секунд (9.06.2009 - 14:05) Phentis написал(а):
Всё равно не работает...

Вот кусок скирпта:
Код

$url=$_GET["url"];

<iframe src="<?
echo "$url";
?>" border="0" framspacing="0" marginheight="0" marginwidth="0" vspace="0" hspace="0" frameborder="0" height="100%" scrolling="yes" width="100%"></iframe>


Нужная страница не открывается:
Цитата
Not Found

The requested URL /google.com was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.


sad.gif

Спустя 1 час, 16 минут, 58 секунд (9.06.2009 - 15:22) Alehandr написал(а):
HTML
<?
$url=$_GET["url"];
?>

<iframe src="http://<?=$url?>" border="0" framspacing="0" marginheight="0" marginwidth="0" vspace="0" hspace="0" frameborder="0" height="100%" scrolling="yes" width="100%"></iframe>


А так? smile.gif

Спустя 55 минут, 56 секунд (9.06.2009 - 16:18) Phentis написал(а):
Нет, так тоже не работает sad.gif
Работает только если приписывать ссылку без http://

Кстати, если я прописываю
Код
echo "$url";

То выдает следующее:

Цитата
http:/google.com

А чтоб всё работало, должно выдавать http://google.com

Вот только как это реализовать, я не знаю sad.gif

Спустя 1 час, 21 минута, 7 секунд (9.06.2009 - 17:39) Alehandr написал(а):
str_replace и регулярки тебе в помощь!
Подкорректируй строку...

PHP
$url str_replace('http:/''http://'$url);

Спустя 1 час, 31 минута, 18 секунд (9.06.2009 - 19:11) kirik написал(а):
Можешь сделать так:
Код
RewriteRule ^i([0-9]+)d/http:/(.+)$ index.php?user=$1&url=$2 [L]

а на входе просто добавлять http://..

Просто в данном случае "/" в УРЛе интерпритируется сервером не как просто слэш, а как разделитель папки. А так как в пути два слэша подряд стоять не могут (не может быть папки с нулевым именем), то апач (php?) заботливо заменяет их на один слэш.

Спустя 1 час, 25 минут, 7 секунд (9.06.2009 - 20:36) Phentis написал(а):
Ура! Получилось! Благодарю за терпение и помощь, очень помогли! smile.gif

Я наверное уже надоел со своей проблемой, вот только заметил, что ссылки типа
http://lincker.ru/i3d/http://megabyte.md/?cat=4

Открывает страницу http://megabyte.md/, т.е. GET данные не передаются. Может кто знает как решить?

Заранее Спасибо!

Спустя 6 минут, 14 секунд (9.06.2009 - 20:42) kirik написал(а):
Прежде чем отдать ссылку кодируй часть после /i3d/ с помощью urlencode() и тогда проблема со слэшами тоже исчезнет.

Спустя 26 минут, 15 секунд (9.06.2009 - 21:08) Phentis написал(а):
Вот как я сделал:
Код
$user=$_GET["user"];
$url=$_GET["url"];
$url = str_replace('http:/', '', $url);

$url = urlencode($url);



Далее вызывается так:

Код

<iframe src="<?
echo "http://$url;";
?>" border="0" framspacing="0" marginheight="0" marginwidth="0" vspace="0" hspace="0" frameborder="0" height="100%" scrolling="yes" width="100%"></iframe>


В чём моя ошибка? Страница просто не открывается...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.