2017-09-15 26 views
-3

我已經搜索了這個問題,但沒有答案可行我。如何使用.htaccess強制重定向到除一個文件夾之外的HTTPS?

我想重定向我的整個網站從HTTP到HTTPS除了文件夾/遊戲/中的項目。

我想對/ games /做相反的處理,從HTTPS重定向到HTTP。

這是我試過但它只是顯示一個無限循環。

RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} !games [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
+0

我試過[this](https://stackoverflow.com/questions/17638645/force-https-except-for-one-directory),但它不工作 - > RewriteEngine在 RewriteCond%{HTTPS} off RewriteCond%{REQUEST_URI}!遊戲[NC] RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R = 301] – leonylyner

回答

0

您可以使用此規則爲第一條規則在網站根目錄的.htaccess:

RewriteEngine On 

RewriteCond %{HTTPS} !on 
RewriteCond %{THE_REQUEST} !games [NC] 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE] 

# rest of your rules go here 

確保測試這些修改時清除瀏覽器緩存。

+0

謝謝。但是這隻適用於主頁和/ games /中的頁面。對於其他目錄中的其他頁面(例如http://example.com/file/index.html),它將變成無限循環。 – leonylyner

+0

您誤解了它或沒有正確解釋您的問題。如果請求中有「遊戲」,則此規則**跳過**。爲什麼一旦請求在重定向後已經成爲'https',它就會變成無限循環。 – anubhava

+0

這條規則必須是您在'RewriteEngine'行下的第一條規則。 – anubhava

相關問題