Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
1

Помогите с выбором и реализацией редиректа

12.11.2011, 16:02. Показов 1107. Ответов 11
Метки нет (Все метки)

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

Добавлено через 3 часа 57 минут
Забыл отметить, что target - это не конкретный адрес, а произвольный.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.11.2011, 16:02
Ответы с готовыми решениями:

Помогите с реализацией
На сервере(MS SQL 2000)есть таблица препараты с полями:наименование,код аптеки,цена,наличие...

Помогите с советом редиректа!
Сайтик с объявлениями. Объявы висят не постоянно - либо юзер, забивший объяву, сам удаляет её (если...

Помогите с реализацией архивирования
Добрый день. Следующая проблема. Есть база данных на сервере с дизайном для ввода и редактирования...

Помогите с реализацией Alarm-ов
Добрый день уважаемые прошу помощи: Необходимо закинуть напоминание в почтовый ящик пользователя...

11
13194 / 6581 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
12.11.2011, 16:21 2
Цитата Сообщение от nule Посмотреть сообщение
Нужно, чтобы сервер перенаправил пользователя на target.ru
А этот самый target.ru всгда является только доменом или может быть любым урлом?
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
12.11.2011, 18:02  [ТС] 3
Любым.
0
13194 / 6581 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
12.11.2011, 18:08 4
Ну тогда просто возникает много вариантов урлов:
  • site.ru
  • http://site.ru
  • http://site.ru/path?query#fragment
  • ...
Вас все варианты интерисуют на все случаи жизни?
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
12.11.2011, 18:17  [ТС] 5
Интересуют как минимум:
https://*.*/*
http://www.*.*/*
0
13194 / 6581 / 1040
Регистрация: 10.01.2008
Сообщений: 15,069
12.11.2011, 18:26 6
Что-то вроде такого:
PHP
1
2
3
4
5
<?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;
}
Только regexp при необходимости допиливать для достижение бОльшей валидности.
1
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
13.11.2011, 20:09  [ТС] 7
Спасибо! Отлично работает!
Я так понял, что в этом случае вообще теряется информация, откуда пользователь пришел на конечную страницу. А можно сделать так, чтобы было известно, что он пришел из "туннеля"?
0
154 / 146 / 20
Регистрация: 12.03.2011
Сообщений: 806
14.11.2011, 08:21 8
Можно передавать заголовок:

PHP
1
header("Referer: http://test.ru/");
Но не факт, что он будет работать как тебе нужно.
Если конечная страница твоя, то для определения можно посылать переменную в массиве GET
0
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
14.11.2011, 12:18  [ТС] 9
Т.е вместо 'Location: ' поставить "Referer: http://test.ru/"? Тогда вообще переход не осуществляется
Конечная страница не моя.
0
52 / 52 / 9
Регистрация: 09.10.2009
Сообщений: 984
14.11.2011, 12:35 10
Я свою реализовал так ... создал БД .
id | url | random | time |
И страницу к примеру test.php
когда человек покупает ссылку она формируется и получается такая .
site.ru/test.php?random=ksadnkjhdfkusdrnmer
И делаю подгрузку из БД .. а там уже выставил таймеры сколько будет стоять страница если 0 то сразу перекидывает на ту страницу куда мне нужно .
1
154 / 146 / 20
Регистрация: 12.03.2011
Сообщений: 806
14.11.2011, 14:14 11
Передавай и location и referer
1
0 / 0 / 0
Регистрация: 03.11.2011
Сообщений: 66
15.11.2011, 14:54  [ТС] 12
Похоже, что с помощью простого редиректа задачу с изменением реферера не решить. Браузеры не признают редирект за реферер. Реферером остается начальная страница, на которой пользователь тыкнул на ссылку.
Видимо, нужно более сложное решение.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2011, 14:54

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Помогите разобраться с реализацией DES
Есть код на СИ: Алгоритм ясен, но на Си никогда не писала, не могли бы вы мне помочь со смыслом...

помогите с реализацией алгоритма сжатия Хаффмана
помогите с реализацией алгоритма сжатия Хаффмана есть код в с++ в консольном приложении,...

Помогите с реализацией поиска в формах MS Access!!!
Ребят, нужна сторонняя помощь по поиску в форме MS Access. Сам я плохо владею VB - работаю с...

Алгоритм замедленного вращения. Помогите с реализацией.
Есть картинка (персонаж), который все время смотрит в сторону мыши. И вращяется с той скоростью, с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.