Нужен умный редирект.

Discussion in 'PHP' started by Ar3s, 8 Oct 2007.

Thread Status:
Not open for further replies.
  1. Ar3s

    Ar3s Banned

    Joined:
    4 May 2005
    Messages:
    86
    Likes Received:
    14
    Reputations:
    5
    Суть в следующем. У меня сайт был rtfm.rechitsa.by
    Теперь стал rtfm.fsay.net

    Нужно сделать умный редирект с таким замесом
    Пользователь запрашивает страницу http://rtfm.rechitsa.by/modules.php?name=News&file=view&news_id=387
    Скрипт меняет rtfm.rechitsa.by на rtfm.fsay.net + добавляет к нему /modules.php?name=News&file=view&news_id=387 (из оставшегося запроса) и отправляет по новому адресу. Без всяких уведомлений и т.д. Просто и прямо. Кто может или знает как это сделать - поделитесь плиз.

    p.s. Вариант с .htaccess пробовал такой
    Code:
    RewriteEngine On 
    RewriteRule  ^(.*)         http://rtfm.fsay.net/$1  [R=301,L]
    Не прокатывает. Редиректит меня на корневой сервер.
     
  2. gemaglabin

    gemaglabin Green member

    Joined:
    1 Aug 2006
    Messages:
    772
    Likes Received:
    842
    Reputations:
    1,369
    PHP:
        ob_start ( ) ;
        
        
    $url parse_url$_SERVER 'REQUEST_URI' ] );
        
        
    header 'Location: http://test2.ru'$url['path']);
     
  3. scrat

    scrat кодер

    Joined:
    8 Apr 2007
    Messages:
    625
    Likes Received:
    541
    Reputations:
    3
    либо вместо $_SERVER getenv() ибо у меня лично $_SERVER не работает на хостинге
     
  4. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    .htaccess

    Code:
    RewriteEngine On 
    RewriteCond %{HTTP_HOST} ^rtfm.rechitsa.by(.*) [NC]
    RewriteRule ^/?(.*) http://rtfm.fsay.net/$1 [L,R=permanent]
    
     
    _________________________
  5. Ar3s

    Ar3s Banned

    Joined:
    4 May 2005
    Messages:
    86
    Likes Received:
    14
    Reputations:
    5
    перепробовал все три варианта - болт...
    или перекидывает на корневой сервер rechitsa.by или ничего. Что-то хитро настроено выше. А через голову не прыгнешь. Ладно. Всем спасибо за труды. Тему можно в клозет, а если у кого будут еще мысли - буду рад увидеть их в личке.
     
  6. Ar3s

    Ar3s Banned

    Joined:
    4 May 2005
    Messages:
    86
    Likes Received:
    14
    Reputations:
    5
    Нормально сработал такой вариант

    Code:
    <?php
    // Set output buffering
    ob_start();
    
    // Print something
    print "new url http://www.rtfm.fsay.net/";
    
    // Set a cookie?
    setcookie("name", "value", time()+60);
    
    // Or send a header
    header("Location: http://www.rtfm.fsay.net/");
    
    // Everything works!
    ?>
    Теперь только нужно дописать его так, чтобы он перенаправлял умно, т.е. с сохранением изначального запроса страницы после адреса сервера.
     
  7. madnet

    madnet Умиротворенный

    Joined:
    9 Dec 2004
    Messages:
    868
    Likes Received:
    343
    Reputations:
    423
    тебе уже скинули 2 рабочих варианта, и не надо говорить, что они не работают!
    просто посиди и подумай хотя бы 5 минут.
    Если у тебя совсем напряг с этим, то в ПМ или асю
    Тема закрыта.
     
    _________________________
Thread Status:
Not open for further replies.