2017-09-11 117 views
1

我有一個example.com的SSL證書,但不適用於www.example.com。我試圖把在Apache重寫規則以使得對所有流量重定向到非www域名:Apache重定向非通配符SSL證書不起作用

RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] 
RewriteRule ^(.*)$ https://example.com$1 [L,R=301] 

,當我做了https://www.example.com捲曲的重寫工作,它顯示了一個301重定向爲預計:

curl -I https://www.example.com 
HTTP/1.1 301 Moved Permanently 
Server: Apache 
Strict-Transport-Security: max-age=63072000; includeSubdomains; 
Content-Security-Policy: upgrade-insecure-requests; 
Location: https://example.com 
Content-Type: text/html; charset=iso-8859-1 

但瀏覽器仍顯示證書錯誤,並且未重定向到非www網址。任何幫助,將不勝感激。

+0

當您訪問https://example.com(通過curl和瀏覽器)時會發生什麼 – bubbly

+0

我http重定向到https。這部分工作正常。 – John

回答

0

我認爲你可以添加一個SAN(Subject Alternative Name)登錄www.example.com的證書。所以,同樣的證書將用於這兩個域。做一個web搜索abt SAN來獲得更多的理解。一些參考文獻What is SAN

0

對不起,但沒有解決方案可以解決您的問題,除非您在您的Apache服務器上安裝SSL證書。