0
我們有一個在IIS 6上運行的應用程序,它使用自定義的HttpModule來重寫URL。除非Context.RewritePath目標文件是.php文件,否則這種方法效果很好(完成得很好)。 php文件按預期執行,但$ _POST集合爲空意味着它無法訪問任何提交給重寫URL的表單。由於Request.Form集合沒有問題,因此在重寫.aspx文件時不存在此問題。
因此,我的問題有兩個部分: 爲什麼$ _POST集合未被填充? 有沒有辦法確保.php $ _POST集合在重寫後正確填充?
我沒有太多的代碼的方式顯示。這只是一個簡單的問題:
context.RewritePath(newPath);
一旦HttpModule已經找到了發送請求的位置。
編輯: 有趣的是,如果我在PHP文件做var_dump(file_get_contents('php://input'));
(方法described here)形式的內容被顯示。所以數據到達PHP腳本而不是$ _POST數組。
感謝您的快速回答。 .aspx頁面如何訪問表單集合但.php文件不能? – jammus 2010-05-19 16:18:36
我的猜測是ASP.NET透明地實現了backchannel。 – 2010-05-19 16:31:56
好的舊ASP.NET。有趣的調用file_get_contents('php:// input')表明POST數據正在通過某種方式獲得。只是$ _POST數組沒有被填充。 – jammus 2010-05-20 08:15:32