Mod-Rewrite

使用 mod_rewrite 強制 SSL

  • October 10, 2012

我有以下聲明,它可以完美地將所有對“www”的請求重定向到 :80 以強制瀏覽器到 :443 上的同一位置

RewriteEngine   on
RewriteCond     %{HTTPS} !=on
RewriteRule     ^/(.*)$ https://www.mydomain.com/$1 [R=301,L]

但是,我想要做的是,無論 https:// 和 .mydomain.com 之間是什麼——在這種情況下是 www,但它可以是任何東西,比如“www2”或“dev”等——我想要URL 只是轉換為它的 SSL 等效項。

我是 mod_rewrite 的新手,所以考慮到子域可以是任何可變長度的字元,我想要做什麼甚至是可能的?

提前感謝您的幫助。

嘗試:

RewriteEngine   on
RewriteCond     %{HTTPS} !=on
RewriteRule     ^/*(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

通過使用 Apache mod_rewrite 提供的環境變數:

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

有關詳細資訊,請參閱http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond

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