Как возможно средствами пхп (возможно 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 запрос к определенному файлу,из всего потока,остальные переадресовать куда и шли.
1. нужен абсолютный путь,т.е. весь path и query меняеться каждый раз 2. не подходит он,потому как сервер выдает ответ на переадресацию,а не уже готовый ответ
какой адресной строке? я уже не однократно упоминаю,этот запрос НЕ от браузера! К примеру такой запрос в ПХП можно получить так file_get_contents('http://...../ss/s.zip'); или через курл,или как либо по другому. Сдесь браузер не причём!
курл, пхп и прочие отлично воспринимают http-редиректы в хидерах. можешь не заморачиваться и использовать header("Location: ..."); то, что ты хочешь НЕВОЗМОЖНО без проксирования запросов. это нарушает основные концепции безопасности. ты не можешь не сообщая ничего клиенту заставить его отправить запрос на другой хост. а сообщить ему можно только посредством http-заголовков или например переадресации средставами javascript(в случае браузера в качествое юзер-агента)
Я честно говоря не совсем понял, что топикстартер хотел, но могу предложить варианты: Вариант 1 PHP: <?php $s = $_GET['s']; $a = "Location: http://www."; $as = $a.$s; header("$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>