.htacesss如何在.htaccess重定向後通過ajax請求保留POST數據?
RewriteCond %{REQUEST_URI} ^/api/(.+)$
RewriteRule ^api/(.+)$ /index.php?api=%1 [QSA,L]
例如AJAX網址: 'http://hostname.com/api/ext/list.php?query=de'
我希望能夠到重定向這種格式的URL以下 的index.php?API = {} requested_filename參數1 & =值1 &參數2 =值2 ...
因爲整個網站中的index.php通過引導程序處理whic h有路由部分加載配置,模板等...
當我嘗試一個jQuery代碼例如,重定向後POST數據丟失。
$.ajax({
url: '/api/contact.php',
type: 'POST',
data: {
email: $("#contactEmail").val(),
name: $("#contactName").val(),
message: $("#contactMessage").val()
// etc ...
}
});
我讀過你無法保存http重定向的數據。但是,所有的框架如何避免這種情況?我編了很多,每一個都通過index.php進行引導,在.htaccess文件中有重寫規則來啓用漂亮的URL。例如,在Yii中,我會用一些POST數據調用url「api/uploads/latests.json」,後端的控制器會接收這些數據。我在這裏錯過了什麼?
注意:我測試了[P] mod_rewrite參數,我認爲這個服務器沒有啓用mod_proxy。
發佈數據通過簡單的URL重寫被保留。 –
簡單的與複雜的簡單的不同? –
你在做什麼是一個URL重寫 - 而不是重定向。您應該可以通過查看http請求/響應來驗證這一點,如TamperData –