在httpd.conf中,我已經在httpd.conf中編寫了規則以便從不安全重定向到安全(例如,http://example.com - >https://www.example.com),httpd.conf將https://example.com重寫爲https://www.example.com
但是當網站已經是https時,你如何預先登錄www?
例如,如果我去我的瀏覽器並輸入https://example.com我找不到一種方法讓Apache將其重寫爲https://www.example.com。相反,我得到證書錯誤,因爲我的證書只適用於「www.example.com」域。
我目前的審判是:
AllowOverride All
RewriteEngine On
# If www is not present:
RewriteCond %{HTTP_HOST} !^www.example.com$ [NC,OR]
# ... or if https is not present:
RewriteCond %{HTTPS} off
# ensure www and https both present
RewriteRule .? https://www.example.com%{REQUEST_URI} [NC,L]
以上沒有在前面加上「www」的,當我在「https://example.com」進入(希望的https://www.example.com結果)
我認爲正在發生的事情:我最初的請求https://example.com在重定向可以起作用之前出現證書不匹配錯誤。
問題:我無法讓Google接受自簽名的* .example.com證書。如果通配符證書有效,上述內容不會成爲問題。
不幸的是,這是行不通的。當我在https://example.com輸入時,出現證書不匹配警告,我認爲這會阻止處理重定向。從「http://」重定向到「https」+ www雖然工作。 – zz3star90