Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Сеть > Помогите с выбором и реализацией редиректа


Автор: nule 12.11.2011, 11:05
Здравствуйте!
На сервер myserver.com происходит переход вот по такой ссылке:    
Код

http://myserver.com?go_uri=target.ru

Нужно, чтобы сервер перенаправил пользователя на target.ru. Как на этот редирект будут смотреть поисковики, особого значения не имеет.
Подойдет ли 302 редирект? Или, может, посоветуете какой-нибудь другой вариант?
Реализовываться будет на PHP.
Спасибо!

Автор: $дмитрий 12.11.2011, 14:46
302 говорит о том что документ "временно перемещен", 301 что перемещен "окончательно". 
Для перенаправления в SEO рекомендуют применять 301, но раз отношения поисковиков не важно, то и разницы нет никакой, какой из двух статусов применять smile

Автор: nule 12.11.2011, 15:02
Ясно.
Я забыл отметить, что target - это не конкретный адрес, а произвольный. Это что-то меняет?

Автор: $дмитрий 12.11.2011, 15:05
Ничего не меняет

Автор: nule 14.11.2011, 11:29
Попробовал вот так:
Код

<?php
if (isset($_GET['go_uri']) && preg_match('~^[a-z0-9]+://[-a-z0-9.]+(?::\\d+)?(?:/[-a-z0-9\\~!@#$%\\^&*()_=+\\[\\]{};:|/,.?]*)?$~i', $_GET['go_uri'])) {
    header('Location: ' . $_GET['go_uri']);
    exit;
}
?>

Работает.
Но я так понял, что в этом случае вообще теряется информация, откуда пользователь пришел на конечную страницу. А можно сделать так, чтобы было известно, что он пришел из "туннеля"?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)