Ben bir php komut dosyası için herhangi bir alt alan yollayacak bir mod_rewrite
kural var ki gerektiği vekil başka bir host (iç proxy değil, 302) için bu istekleri.
Benim komut dosyası web tarayıcıları ile çalışır olarak, yakın değilim, ama kıvırmak gibi değil gibi görünüyor:
curl: (56) Received problem 2 in the chunky parser
İşte benim mod_rewrite olduğunu:
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$
RewriteRule ^.*$ %{DOCUMENT_ROOT}/proxy.php?__path=%1 [QSA,L]
Ve proxy.php
<?php
$name = $_GET['__path'];
unset($_GET['__path']);
$path = $_SERVER['REQUEST_URI'];
$url = "http://$name.internal.example.com$path";
$ch = curl_init($url);
$headers = array();
foreach (apache_request_headers() as $key => $value) {
$headers[] = "$key: $value";
}
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $_SERVER['REQUEST_METHOD']);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($_POST));
curl_setopt($ch, CURLOPT_HEADER, TRUE);
$data = curl_exec($ch);
list($headers, $body) = explode("\r\n\r\n", $data, 2);
$headers = explode("\r\n", $headers);
foreach ($headers as $header) {
header($header);
}
die($body);
Kıvırmak tarayıcılar ama bu sevmiyor neden herhangi bir nedenle onunla Tamam?
(Ben tam isteği vekalet ediyorum beri parçalama, mümkün değildir) her şeyi Tamam Transfer-Encoding: chunked
başlık göndermek yoksa EDIT: görünüyor. Yani takip soru: Ben gerçek bir aracı olarak hareket ve ben soket üzerine almak gibi veri gönderebilir miyim?