2013-10-07 72 views
7

這是我現在的腳本,我如何讓我的腳本強制所有流量到http,目前它做的是完全相反,它強制所有流量都是https。強制http使用.htaccess

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我也嘗試這樣做,也沒有工作

RewriteEngine On 
RewriteCond %{HTTP} !=on 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

我得到這個錯誤:

Too many redirects occurred trying to open www.blankpage.com .

回答

25

你要檢查HTTPS是

RewriteEngine On 
RewriteCond %{HTTPS} on 
RewriteRule^http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

如果是(%{HTTPS} on),則重定向到http://。沒有mod_rewrite變量叫做%{HTTP},只有%{HTTPS}可以是「開」或「關」。

,爲什麼你都拿到了過多的原因重定向錯誤是因爲:

RewriteCond %{HTTP} !=on 

總是真不管請求是HTTP或HTTPS,因爲變量不存在,它會永遠等於「開」。因此,即使請求是http,您仍然被重定向到相同的URL(http)。

+0

感謝您的解釋!這就說得通了! –