2017-07-31 143 views
1

我在子文件夾(www.domain.com/API/)中有.htaccess文件,我需要將此子文件夾的所有POST請求重定向到子文件夾中的文件中www.domain.com/API/Sub/manager.php).htaccess將所有POST請求與數據重定向到文件

我必須說所有的POST請求都會有數據(2-10個參數),所有的數據也會被重定向。

我已閱讀了一些帖子和頁面,但他們無法解決我的情況。

我有這樣的規則:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ https://www.example.net/API/Sub/manager.php [QSA,L] 

不過,我有這樣的:

302找到 - >文件移動(鏈接到 ww.domain.com/API/ Sub/manager.php)

有人能告訴我我做錯了什麼嗎?

預先感謝您。

P.S. 這些都是一些網頁我看着:

Redirect POST htaccess

Seems like POST values are lost when .htaccess RewriteRule used. GET values are OK. How to fix?

.htaccess redirect all sub-directories to file

+0

謝謝@thickguru我對此很新穎。 –

回答

0

您使用了錯誤的狀態代碼。簡而言之,302代碼不會請求瀏覽器重新傳輸所有數據(POST請求);您需要使用307代碼。

爲此Apache下,更新最後一條規則,以結束與

[QSA,L,R = 307]

如果你是在POST數據感興趣,你甚至不需要QSA的標誌。

對於血淋淋的細節,你可以看到HTTP狀態碼的完整列表及其含義here。 302代碼不能正常工作的方式的原因,您希望它在協議頁面上顯式調用瞭如下(重點煤礦)

注:RFC 1945和RFC 2068指定客戶端不允許 在重定向的請求上更改方法。然而,大多數 現有用戶代理實現對待302,就好像它是303 響應,在位置字段值上執行GET,而不管原始請求方法的 。狀態碼303和307已添加 用於希望明確清楚客戶端期望哪種類型的反應的服務器。

+0

感謝您的回答,我實現了您的代碼,但知道我沒有得到任何答覆,我得到: –

+0

「文檔已移到此處」 其他建議? –

+0

對不起,我在其中一個文件中遇到問題。 307是我正在尋找的。謝謝 –

相關問題