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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Php переадресация (https://forum.antichat.xyz/showthread.php?t=193394)

Mixon 04.04.2010 18:42

Php переадресация
 
Как возможно средствами пхп (возможно htaccess,но врядли,потому как он возвращает результат на смену страницы,а не уже полученные данные) сделать переадресацию?
Ситуация такая,запрашивается доступ к файлу по определённому адресу,а мне нужно из этого адреса переадресовать на другой адрес.
Аналог подмены в файле hosts
Пока лучшее что сделал по этому поводу,это по приходу запроса,скрипт сам качает данный файл,и выдает его через echo,но это занимает время,трафик,нагрузку и т.п.
header не подходят в данном случае,это не страница браузера,это обращение к файлу....
Пример запроса:
http://site.ru/in/go/index.php?sr=gi

Пример переадресации из этого адреса:

http://site2.ru/in/go/index.php?sr=gi

Все POST запросы и подобное должно тоже переадресоваться туда.
В случае если htaccess то нужно чтобы по конкретному обрашению к одному файлу,передресация не происходила.
В более кратком варианте,то что мне нужно: Нужно отпарсить 1 запрос к определенному файлу,из всего потока,остальные переадресовать куда и шли.

Blackcat95 04.04.2010 20:28

.htaccess
Код:

redirect /in/go/index.php?sr=gi http://site2.ru/in/go/index.php?sr=gi

Mixon 04.04.2010 21:01

1. нужен абсолютный путь,т.е. весь path и query меняеться каждый раз
2. не подходит он,потому как сервер выдает ответ на переадресацию,а не уже готовый ответ

svesve 04.04.2010 21:05

Тебе нужно чтобы адрес в адресой строке не изменялся но содержимое шло из site2.ru???

Mixon 05.04.2010 15:52

какой адресной строке?
я уже не однократно упоминаю,этот запрос НЕ от браузера!
К примеру такой запрос в ПХП можно получить так file_get_contents('http://...../ss/s.zip');
или через курл,или как либо по другому.
Сдесь браузер не причём!

Mixon 06.04.2010 17:42

Ну так что? никто не знает что-ли?

undef 06.04.2010 23:19

курл, пхп и прочие отлично воспринимают http-редиректы в хидерах.
можешь не заморачиваться и использовать header("Location: ...");

то, что ты хочешь НЕВОЗМОЖНО без проксирования запросов.
это нарушает основные концепции безопасности.
ты не можешь не сообщая ничего клиенту заставить его отправить запрос на другой хост. а сообщить ему можно только посредством http-заголовков или например переадресации средставами javascript(в случае браузера в качествое юзер-агента)

capslock 09.04.2010 17:31

Я честно говоря не совсем понял, что топикстартер хотел, но могу предложить варианты:

Вариант 1
PHP код:

<?php   $s $_GET['s'];  $a "Location: http://www."$as $a.$sheader("$as"); exit; ?>

Вариант 2
PHP код:

<?  $s $_GET['s'];  $a "location: http://www."$as $a.$s;   // Включаем буферизацию   ob_start();   echo "Вывод в браузер";   header($as);   // Вывод в браузер и сброс буфера   ob_end_flush(); ?>

Вариант 3
PHP код:

<?php $s $_GET['s'];  echo ' <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Новая страница 1</title> <script type="text/javascript"> location.replace("http://www.'; echo $s; echo '"); </script> </head> <body> </body> </html>'?>

Вариант 4
PHP код:

<html>  <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>Новая страница 1</title> <script type="text/javascript"location.replace("http://www.ya.ru"); </script> </head>  <body>  </body>  </html



Время: 14:27