• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь [help] при редиректе обрезается урл

Статус
В этой теме нельзя размещать новые ответы.
  • Заблокирован
  • #11
Вот так должно будет работать:
1. Кодируем ссылку в base64 (как и советовал $aSH)
(создадим php файл)
PHP:
<?php
$u = base64_encode('http://site.com/');
print $u;
?>

2. Создаем файл go.php со следующим содержением (почти тоже самое, что и советовал kwin).
PHP:
<?php 
if (isset($_GET['url']) && (!empty($_GET['url']))) { 
$url = base64_decode($_GET['url']); 
@header("Location: {$url}");   
} else { 
@header('Location: /index.php'); 
} 
?>

После,ссылки будут иметь слудующий вид:

Для просмотра ссылки Войди или Зарегистрируйся кодированнная ссылка*
 
хех... то есть мне каждую ссылку выводить через php скрипт чтоли?
ну ведь взять, например, тот же редирект, который ака вконтакте. там ведь все нормально передается, только приходится еще нажимать вручную
 
так есть уже модуль такой для дле. так и называется: редирект как на vkontakte.ru
 
в скрипте редиректа всё нормально просто значение переменной надо передавать закодированное, например:

ссылка на редирект:
Для просмотра ссылки Войди или Зарегистрируйся

php получит две переменные:
url=http://sait2/index.php?a=1111
b=2222
потому что были разделены символом &.

Значит надо значение переменной передавать с закодированными спец. символами:
<?
$url = urlencode('http://sait2/index.php?a=1111&b=2222');
?>
http://sait/redirect.php?url=<?=$url ?>

получится ссылка:
Для просмотра ссылки Войди или Зарегистрируйся

php получит одну переменную:
url=http://sait2/index.php?a=1111&b=2222

$_GET и $_REQUEST раскодируют автоматически.

подробнее на:
php.net/urlencode
php.net/urldecode


а чтоб не было видно ссылки в браусере то base64_encode.
 
gentoouser, внимательнее читай, нех посты набивать! я знаю, что он есть!

polyetilen, спасибо за метод, но это как-то сложно. мне бы попроще что-нибудь. буду тогда сам искать. еще раз спасибо за потреченное на меня время =)
 
Или ещё способ, брать все переменные которые обрезаются из $_GET и прилепить к ссылке, тогда только редирект дополнить:

PHP:
if (isset($_GET['url']) && (!empty($_GET['url']))) {
$url = trim($_GET['url']);



//
    $keys = array_keys($_GET);
    foreach($keys as $key)
    {
        if($key!='url'){
            $url .= '&'.$key.'='.trim($_GET[$key]);
        }
    }
//


    @header("Location: {$url}");  
} else {
    @header('Location: /index.php');
}
 
отлично! это то, что надо, теперь все хорошо передается =) спасибки.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху