2014-02-25 101 views
1

我目前使用.htaccess在我的網站的所有頁面上強制使用https,它的工作原理應該如此。但是,當在cmd行中創建http(不是https)curl請求時,由於此重寫規則,我得到了'頁面已移動'響應。我需要讓腳本以如下方式響應:"error": { "message" : "This API is only accessible over HTTPS ...這意味着純HTTP請求需要點擊腳本。我如何修改這個.htaccess文件以允許普通http訪問http://examplesite.com/api/index重定向https異常

RewriteCond  %{SERVER_PORT} ^80$ 
RewriteRule  ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R] 

回答

1

您可以使用這條規則:

RewriteEngine On 

RewriteCond  %{SERVER_PORT} ^80$ 
RewriteRule  !^api/index https://%{SERVER_NAME}%{REQUEST_URI} [L,NC,R=301] 

RewriteCond  %{SERVER_PORT} ^443$ 
RewriteRule  ^api/index http://%{SERVER_NAME}%{REQUEST_URI} [L,NC,R=301] 
1

你可以嘗試

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} !^/api 
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]