Пишу партнерку заработка на ссылах.
Суть в том, что перед любой ссылкой добавляется префикс системы.
Напрмер, мы хотим оставить ссылку на
http://google.ru/Наша ссылка будет выглядеть так:
http://lincker.ru/i3d/
http://google.comi3d - ID пользователя
http://google.com - сайт, который откроется во фрейме
Что мне удалось сделать с помощью людей с nulled.ws, так это реализовать это частично, с помощью .htaccess:
Всё окей, только ссылки выглядят так:
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. |
Спустя 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>
|
А так?
Спустя 55 минут, 56 секунд (9.06.2009 - 16:18) Phentis написал(а):
Нет, так тоже не работает
Работает только если приписывать ссылку без http://
Кстати, если я прописываю
То выдает следующее:
А чтоб всё работало, должно выдавать http:/
/google.com
Вот только как это реализовать, я не знаю
Спустя 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 написал(а):
Ура! Получилось! Благодарю за терпение и помощь, очень помогли!
Я наверное уже надоел со своей проблемой, вот только заметил, что ссылки типа
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>
|
В чём моя ошибка? Страница просто не открывается...