2012-11-03 137 views
0

我有一個問題,我想從另一個服務器獲取參數HTTP POST,我想通過HTTP POST從服務器A到服務器B進行通信,在此問題服務器A使用默認軟件POST到服務器B ,.但服務器B不能從服務器GET請求HTTP POST,如果我看的access.log重定向HTTP POST apache,

"POST http://mywebsite/class/param" 404 

這意味着,從服務器的請求無法識別,沒有發現404頁,。我然後模擬使用HTML表單使用POST方法以獲得正確的日誌,如果我再看看access.log裏,

"POST /class/param" 200 

200的意思是OK,請接受,。

我的問題是如何重定向POST

http://mywebsite/class/param 

/class/param 

?我試圖搜索,似乎可以使用mod_rewrite,但我仍然無法使用它。

規格:
服務器網絡:阿帕奇
網絡語言:PHP
PHP框架:如果你改寫後的請求笨

+0

那麼,存在和PHP擴展名'curl'可能對你有用。這是一個[很好的例子](http://davidwalsh.name/curl-post)關於如何使用它。 – manix

+0

感謝您的答覆manix,但我的問題是無法從服務器A檢索POST, – panji

回答

0

,內容身體不會被包含,所以你會失去你的POST PARAMS。你需要做的是改變發送這個請求的內容,以便它發送正確的URI。它看起來可能像http://mywebsite/http://mywebsite/class/param那樣簡單,只需要移除主機。

+0

是的,可能是服務器A中輸入合適的URI的錯誤,但如果我使用html形式的動作模擬'http:// mywebsite access.log中的/etc/http:// mywebsite/class/param會顯示'POST「/ http:// mywebsite/class/param」404「與服務器A的access.log結果有些不同。與管理服務器A,他聲稱URI與我所要求的相同。我該怎麼辦? – panji

+0

@panji如果沒有前導斜槓,則表示有人正在將您的服務器用作代理服務器。無論哪種方式,都沒有辦法使用mod_rewrite來糾正這個問題,你需要解決問題的根源。 –

+0

好的,我明白了,謝謝你的建議@ jon-lin – panji