2015-10-19 112 views
1

我有一個小問題,Apache重定向從http到https

我正在使用apache2服務器,我必須將所有http請求重定向到https。

這裏是代碼我已經寫在VH的conf文件

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

它似乎是工作的罰款,沒有問題的。

現在,問題是,我們也有一個移動應用程序與我們的服務器通信。此移動應用正在通過基於REST的POST API進行通信。移動應用程序已經存儲並且仍然只通過HTTP與我們的服務器進行通信。現在,由於此重定向集,服務器將移動請求重定向到Https,但未能通過POST參數。任何人可以在這裏建議我一個解決方案?有什麼方法可以只重定向Web請求,並讓來自移動的請求僅通過http協作。需要幫助和建議。

+2

的可能的複製[?你怎麼重定向到HTTPS HTTP](http://stackoverflow.com/questions/8371/how-do-您重定向消息HTTPS到HTTP) – gpinkas

回答

3

您可以從您的http->https重定向忽略POST方法:

RewriteEngine On 

RewriteCond %{REQUEST_METHOD} !POST 
RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]