Ssl

Apache HTTP 到 HTTPS 重定向、絕對連結和書籤失敗

  • September 7, 2016

我為我們的網站獲得了一些適當的 SSL 證書。我能夠安裝它們,並且 HTTPS 端的測試效果很好。剩下的唯一一件事就是將所有 HTTP 流量重定向到 HTTPS,然後事情就變得一團糟。

我在我的區域添加了以下行<VirtualHost *:80>

Redirect permanent / https://www.website.com/

這以兩種方式引起了一些有趣的行為。首先是網站內所有指向網站內不同目錄的絕對連結都失敗了。例如,指向的連結http://www.website.com/directory最終會出現https://www.website.comdirectory強制性的“無法訪問此站點”錯誤。直接輸入 URLhttp://www.website.com/directory將產生相同的行為。

用這個替換 Redirect 語句會更好嗎?

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/%$1 [R,L]

還是需要其他東西?

所以我們想通了。

因為有多個配置文件,每個用於不同的掛載目錄,所以每個配置文件都需要重定向規則或重寫規則集。

現在上述規則已經到位,該網站按預期工作。

在 .htaccess 中試試這個:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.my-site.com/$1 [R,L]

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