2011-09-28 4 views
0

다음 코드를 사용하여 PHP의 페이지로 리디렉션합니다. 리디렉션과 함께 전달할 사용자 지정 HTTP 헤더를 설정해야합니다.페이지로 리디렉션하고 사용자 정의 HTTP 헤더 보내기

header("Location: http://..."); 

어떻게 보관할 수 있습니까?

+1

여러 '헤더'호출. – hakre

+0

리디렉션 전후에 추가하려고 시도했지만 Firefox에서 HttpFox를 사용했지만 HTTP 헤더가 전송되지 않는 것을 확인했습니다. – Lennie

+0

리디렉션과 함께 데이터를 보내려고하십니까? 왜 PHP 세션을 사용하지 않습니까? – T9b

답변

3

여러 headerDocs 전화 :

header("Location: ...."); 
header("Header2: ...."); 
header("Header3: ...."); 
... 
+0

이 나를 위해 작동하지 않습니다 – Lennie

+1

당신을 위해 무엇이 작동하지 않았습니까? 코드를 게시하십시오. 나는 당신이 뭘 잘못하고 있는지 추측 할 수 없다. – hakre

+0

헤더 ("VIA : maga"); 헤더 ("X_MSISDN : +27000000000"); 헤더 ("X_UP_CALLING_LINE_ID : +27000000000"); header ("Location : url"); – Lennie

1

header() 전화를 추가하십시오.

header("Location: http://..."); 
header("Content-Type: text/plain"); 
+0

나를 위해 작동하지 않습니다 – Lennie

+0

'header ("Location : http : // ...");'두 번째 줄이 실행되기 전에 리디렉션됩니다. – wpcoder

5

난 두려워, 모든 해답이 잘못 오해의 소지가 있습니다!

사용하는 언어 나 프레임 워크에 관계없이 사용자 지정 헤더가 설정된 페이지로 리디렉션하는 것은 불가능합니다. 즉, HTTP 리디렉션을 트리거하고 클라이언트 (브라우저)가 사용자 정의 헤더를 추가하도록 할 수있는 방법이 없습니다.

여러 header() 호출을 사용하면 문제가 없을 것입니다. 하지만 그렇지 않을 것입니다. 리다이렉트 자체가 아니라 브라우저가 리디렉션하도록 지시하는 응답의 사용자 정의 헤더를 설정하고 있습니다.

사이트가 사용자 지정 헤더가있는 HTTP 요청을 발행하도록 브라우저에 지시하는 유일한 방법은 Javascript와 XMLHttpRequest 개체를 사용하는 것입니다. 그리고 이러한 ajax 요청을 허용하려면 CORS가 대상 서버에 구현되어야합니다.

XMLHttpRequest을 사용하여 비동기 요청을하는 경우가 아니면 페이지에서 HTTP 요청 헤더를 설정할 수 없습니다. 즉, 클라이언트 쪽에서도 사용자 지정 헤더를 사용하여 이러한 리디렉션을 수행 할 수 없다는 의미입니다.

웹의 작동 방식이 아닙니다.

관련 문제