我在通過https使用jQuery的ajax方法時遇到問題。通過https的jQuery ajax
整個網站通過https服務。大多數表單都通過ajax提交給處理頁面。對於AJAX功能的URL是基本上是:
$.ajax({
"/assets/php/ajax/processor.php",
...
});
我也有重定向所有HTTP請求到https的像這樣.htaccess文件:
# Redirect any http requests to https
RewriteCond %{HTTPS} off
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L]
如果我刪除重定向阿賈克斯工作正常在.htaccess文件中,但似乎沒有在那裏工作。我認爲這是因爲AJAX函數通過http(jQuery描述.ajax():執行異步HTTP(Ajax)請求),因此.htaccess重定向捕獲ajax請求。
我需要重定向,因爲我不希望網站的用戶使用http版本(每個頁面都有一個登錄標頭),但是我需要ajax也可以工作,並通過https進行保護。
預先感謝任何幫助
使用像你正在使用應該作爲一個HTTPS請求,如果瀏覽器當前指向一個相對URL一個Ajax請求一個https域名。你能提供任何在控制檯顯示「不起作用」的錯誤嗎? –
這就是我的想法,但RewriteCond似乎在捕捉ajax請求,這意味着請求不會通過https(RewriteCond%{HTTPS} off) –