2011-03-03 57 views
0

對於具有購物車的網站,我們已在https://shop.com/shop-2/cart位置上運行https。當用戶離開購物車到網站上的其他鏈接時,他們仍然處於HTTPS模式,這種模式很慢並且實際發生錯誤。其他頁面上的b/c項目未設置爲https連接。將htaccess限制爲tld或追加位置以結束

我已經能夠成功檢測https請求並將它們重定向到http,但它不會追加當前用戶位置(即https:// domain.com/test應該是http:// domain.com/test,但是出來http:// domain.com)。我附加了目前爲止正在使用的重定向代碼。我試圖讓它離開shop-2,因爲我想要一個SSL連接。

RewriteEngine On 
RewriteCond %{ENV:HTTPS} =on 
RewriteCond %{REQUEST_URI} !^/shop-2 
RewriteRule (.*) http://domain.com/%1 [R=301,L] 

我們正在研究Rackspace Cloud Sites服務器,因此ENV:HTTPS。由於某個代理層位於不同的IP上,HTTPS本身並未檢測到我們使用的是HTTPS。

空間在域示例b/c我沒有足夠的代表發佈超過2個鏈接。

回答

0
RewriteRule (.*) http://domain.com/$1 [R=301,L] 

$是爲一組,而不是%能指。

+0

它使它正確地附加URL,但它將shop-2重定向到主頁,而不是讓它停留在SSL上。 – curtismchale 2011-03-07 18:15:53

+0

我相信你也需要刪除領先/在第二個條件。 (RewriteCond%{REQUEST_URI}!^ shop-2) – Rae 2011-03-07 18:25:50

+0

我還必須翻轉RewriteCond參數的順序。 – curtismchale 2011-03-08 23:52:10