를 작성하는 방법 php/htaccess 스크립트로 리디렉션하는 형태로 변수를 다른 웹사이트
문제
어이 여기에 내 문제가:나는 플래시며 나는 그것을 변경할 수 없습니다 없는 메이 무엇입니다.플래시했다는 형식이었 데이터를 보내는 내 하위 도메인..나는 하위 도메인을 제거하고 새로운 웹사이트 문제는 이것:어떻게 리다이렉 형태에서 데이터의 오래된 사이트를 새로운 중 하나?플래시 나는 형태로 데이터를 보낼:subdomain.site.ro/subscribe.php 나는 여전히있는 파일이 있다고 내가 쓸 수 있는 스크립트에서 그것은 그러나 필름은 다음과 같습니다.필드[name]나는 처리할 수 없습니다 그래서 나는 그들을 보내야 합니다 원래 스크립트는 마녀에서 지금이 다른 사이트:othersite.ro/subscribe.php.
그래서 기본적으로 내가 스크립트를 작성 전달되는 게시물/얻을 변수를 새로운 스크립트(에 새로운 웹 사이트)또는 쓰기.htaccess 파일을 리디렉션합니다 post/얻을 변수를 새로운 웹사이트
누군가의 도움을 받을 수 있는가?위한 시간이 오래하고 내가 아무것도 찾을 수 없습 helpfull 나는 것 충실히 수행하면서도 도움이됩니다.감사합니다, Dan
좋아 지금 내가 할 수 있습 였는지는 변수로는 스크립트는 아래(가 html 형태).그러나 플래시지를 보내는 어떤 변수를 스크립트입니다.내가 많은 것들을 시도했고,난 여전히 노력..어떤 ideeas?그렇다면 알려 주시기 바랍니다.감사합니다, Dan
<?php
if(isset($_POST['key']['yourmom']))
echo 'Your mom is '.$_POST['key']['yourmom'].' and your face '.$_POST['key']['yourface'];
?>
<form method="post">
<input type="hidden" name="key[yourmom]" value="lol">
<input type="hidden" name="key[yourface]" value="failed">
<input type="submit">
</form>
해결책
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://othersite.ro/subscribe.php");
header("Connection: close");
exit;
?>
지 않는 경우 달성할 필요가 무엇을,당신은 수도에 의존하지 작용으로 약간의 프록시를 통해 컬:
<?php
$ch = curl_init('http://othersite.ro/subscribe.php');
curl_setopt ($ch, CURLOPT_POST, 1);
curl_setopt ($ch, CURLOPT_POSTFIELDS, "key1=val1&key2=val2&key3=val3");
curl_exec ($ch);
curl_close ($ch);
?>
다른 팁
yup"Dav"대답하는습니다.
또한,오류 메시지가 표시되는 경우 말하는 헤더가 이미 그냥 넣어"ob_start();"바로 아래에 열기"<?php" - that is, if you plan on putting this knee deep in another php script.
필요하신 루프를 넘 $_POST
고 $_GET
변수가(배열)의 모든 변수:
<?php
header("HTTP/1.1 301 Moved Permanently");
$poststring="";
foreach ($_POST as $variable=>$value)
{
$poststring.=$variable."=".$value."&";
}
header("Location: http://othersite.ro/subscribe.php?".$poststring);
header("Connection: close");
exit;
?>
한 변수를 얻(사용$_GET 에서 동일한 방식으로)
<?php
if(isset($_POST['key']['yourmom'])) echo 'Your mom is '.$_POST['key']['yourmom'].' and your face '.$_POST['key']['yourface'];
?>
<form method="post">
<input type="hidden" name="key[yourmom]" value="lol">
<input type="hidden" name="key[yourface]" value="failed">
<input type="submit">
</form>
위의 코드를 복사하고 그것을 실행..대신$_POST['value']그냥$_POST['키']['value']
그래서 다음과 같
올바른 방법으로 그것을 할 것을 변경하 DNS 기록을 그래서 당신의 오래된 하위 도메인에 포인트는 새로운 하나입니다.그럼 모든 것을 다 얻을 제출하여 새로운 도메인이지만,동일한 경로에 있습니다.하지만 그것은 같은 소리 하지 않을 수행할 수 있습니다.
대안을 모방하는 게시물의 플래시 응용 프로그램를 사용하여 제출 컬입니다.를 잡아 url query string(GETs)제출합니다.그것이 중요하지 않습니다 당신의 필드의 이름은$_POST['키']['value'].
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'othersite.ro/subscribe.php?'.$_SERVER['QUERY_STRING']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_POST);
curl_setopt($ch, CURLOPT_USERAGENT, 'Redirect Fix');
$result = curl_exec($ch);
curl_close($ch);
수도 반$결과 변수의 플래시 응용 프로그램.당신은 단지 서버가 중간에 라우팅 데이터를 주고 받고 있습니다.삭제할 수 있습 CURLOPT_USERAGENT 라인,당신은 단지 사용하려는 경우 지정한 사용자 정의 에이전트는 일반적으로 이는 브라우저는 식별자를 지정합니다.