Apache-2.2

將 SSL 的使用限制在 Apache 中的一個目錄中

  • April 28, 2012

我安裝了 SSL 證書,並且在 Apache 2.2.14 上執行良好。現在,我想將 https 的使用限制在一個目錄中,即 www.example.com/shop。如果使用者訪問https://www.example.com或除 www.example.com/shop 以外的任何其他 URL,我想強制使用 http 而不是 https。

我在這個網站上執行 Wordpress,我一生都無法弄清楚如何為這個(我打賭很簡單)場景編寫正確的重寫規則。任何幫助表示讚賞!

好吧,我想不出任何好的理由來積極阻止使用 HTTPS,但是應該這樣做……

RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/shop [NC]
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [R=301]

一個簡單的重寫規則是:

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

即使重寫規則由於某種原因被忽略,您也可以使用 .htaccess 文件中的SSLRequireSSL 指令來完全禁止通過 HTTP 訪問該文件夾。

PS我想你可以用上面%{SERVER_PORT_SECURE}的代替%{HTTPS}

引用自:https://serverfault.com/questions/383966