2012-08-13 2 views
3

헤더가 ('Location: x') function 인 페이지 리디렉션을 클라이언트에 자주 제공하는 일부 PHP 코드가 있습니다. 헤더 리디렉션은 정상적으로 작동합니다. 헤더 기능 이전에 출력이 없으며 사용자가 성공적으로 새 페이지로 리디렉션됩니다. 연결 한 클라이언트 중에는 HTTP byte range requests이 연결되어있어 리디렉션하는 요청 파일의 특정 부분 만 잡을 수 있습니다.
새 사이트로 전송할 때이 범위 요청을 보존해야합니다. 내가 리디렉션하는 사이트는 헤더의 범위 정보를보고 사용자 요청을 올바르게 처리 할 수 ​​있어야합니다.범위 (바이트 제공) 패스 스루로 PHP 리디렉션

PHP 코드에서 요청한 바이트 범위를 $_SERVER['HTTP_RANGE']으로 볼 수 있음을 알고 있지만이 범위를 헤더의 리디렉션 사이트로 전달하는 방법을 생각할 수 없습니다. 나는 헤더 함수를 통해 구현하려고하는 것이 틀렸다는 것을 확신한다. 내 자신의 페이지 헤더를 설정하기 때문이다. 대신 리디렉션 할 페이지로 전송되는 헤더를 설정할 수 있어야합니다.

아무도 구현 방법에 대한 아이디어가 있습니까?

답변

3

실제로 사용자를 다른 사이트로 리디렉션하지 않고 다른 사이트의 컨텐트 만 제공해야하는 경우 cURL 함수를 사용하여 요청에 Content-Range 헤더를 설정할 수 있습니다 , 결과를 얻은 다음 최종 사용자에게 제공하십시오.

+0

Mike, 저도 첫 반응 이었지만 오디오 파일 (mp3, m4a 등)로 리디렉션하고 있습니다. 이 길로 가면 내 대역폭이 죽을 것입니다. – picklemonkey

+0

당신의 최선의 해결책은 웹 서버를 리버스 프록시로 실행해야하는 것처럼 본질적으로 웹 서버 수준에서 이것을 해결하는 것입니다. Apache에서 실행중인 경우 mod_proxy 및 관련 모듈 (mod_headers 포함)을 조사해야합니다. –