2010-09-06 86 views
0

我在用相對較新的Apache安裝發送POST參數時遇到問題。Apache不發送POST參數到索引URL

在我的文檔根目錄,我有具有以下文件的test.html:

<form action="/test" method="POST"> 
    <input type="text" name="param" value="test" /> 
    <input type="submit" /> 
</form> 

我的.htaccess文件設置索引文件是serve.php,如下:

DirectoryIndex serve.php 

裏面serve.php,我只是打印出之後的參數如下:

<?= $_POST['param'] ?> 

書面,這樣做不行。如果我將方法更改爲GET(並更改serve.php文件以訪問GET),它將起作用。如果我明確指定動作爲「/test/serve.php」,它就會起作用。

不知怎的,看起來POST參數在翻譯到索引文件時丟失了。思考爲什麼?

回答

1

只是想知道GET工作,因爲參數被包含在URL中,而在POST中它們不?

POST 將要處理的數據(例如,從HTML表單)提交到所標識的資源。數據包含在請求的正文中。這可能會導致創建新資源或更新現有資源或兩者。

想知道請求正文中包含的變量是否未被Apache指令傳遞,也許它不需要Apache的東西?

+0

我相信是這樣。 – 2010-09-06 19:51:49

-1

只需將「/」添加到ACTION網址中即可!

2

看起來您的POST數據在從/test重定向到/test/時會丟失。

嘗試<form action="/test/" method="POST">

+0

哇..我剛剛有同樣的確切問題,這個評論幫助我把它縮小到一個後面的斜槓重寫規則..很高興我只碰了半個小時,而不是這個錯誤可能應得的幾個小時。 – stevecomrie 2011-12-03 21:50:29