Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Нужен умный редирект. (https://forum.antichat.xyz/showthread.php?t=50769)

Ar3s 08.10.2007 16:35

Нужен умный редирект.
 
Суть в следующем. У меня сайт был 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 пробовал такой
Код:

RewriteEngine On
RewriteRule  ^(.*)        http://rtfm.fsay.net/$1  [R=301,L]

Не прокатывает. Редиректит меня на корневой сервер.

gemaglabin 08.10.2007 16:45

PHP код:

    ob_start ( ) ;
    
    
$url parse_url$_SERVER 'REQUEST_URI' ] );
    
    
header 'Location: http://test2.ru'$url['path']); 


scrat 08.10.2007 17:53

Цитата:

Сообщение от gemaglabin
PHP код:

    ob_start ( ) ;
    
    
$url parse_url$_SERVER 'REQUEST_URI' ] );
    
    
header 'Location: http://test2.ru'$url['path']); 


либо вместо $_SERVER getenv() ибо у меня лично $_SERVER не работает на хостинге

madnet 08.10.2007 18:08

.htaccess

Код:

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


Ar3s 08.10.2007 18:48

перепробовал все три варианта - болт...
или перекидывает на корневой сервер rechitsa.by или ничего. Что-то хитро настроено выше. А через голову не прыгнешь. Ладно. Всем спасибо за труды. Тему можно в клозет, а если у кого будут еще мысли - буду рад увидеть их в личке.

Ar3s 10.10.2007 11:02

Нормально сработал такой вариант

Код:

<?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!
?>

Теперь только нужно дописать его так, чтобы он перенаправлял умно, т.е. с сохранением изначального запроса страницы после адреса сервера.

madnet 10.10.2007 11:57

тебе уже скинули 2 рабочих варианта, и не надо говорить, что они не работают!
просто посиди и подумай хотя бы 5 минут.
Если у тебя совсем напряг с этим, то в ПМ или асю
Тема закрыта.


Время: 06:15