![變數 SERVER_PROTOCOL 到底包含什麼(Apache 2.4)?](https://rvso.com/image/697388/%E8%AE%8A%E6%95%B8%20SERVER_PROTOCOL%20%E5%88%B0%E5%BA%95%E5%8C%85%E5%90%AB%E4%BB%80%E9%BA%BC%EF%BC%88Apache%202.4%EF%BC%89%EF%BC%9F.png)
我有一個由 Apache 2.4 提供服務的網站,它應該透過 HTTPS 提供所有內容。我已經有適當的重定向,可以正常工作,但沒有捕獲任何病理情況。我想改善這種情況,並且在做作業時遇到了以下範例這個文件:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "/admin/" "https://www.example.com/admin/"
</If>
我稍微修改了一下以反映我的情況:
<If "%{SERVER_PROTOCOL} != 'HTTPS'">
Redirect "/" "https://www.example.com/"
</If>
現在,當嘗試從我的網站查看任何 URL 時,瀏覽器會進入無限重定向循環。
我懷疑這個例子實際上是錯誤的。在任何情況下SERVER_PROTOCOL
似乎都不包含該值。HTTPS
相反,根據我在其他文章中讀到的內容,它包含類似的內容HTTP/1.1
(正如名稱所期望的那樣)。
SERVER_PROTOCOL
所以我的問題是:在什麼情況下/在什麼背景下到底包含什麼? Apache 的官方文件網站是我在幾個小時的研究中發現的唯一一個將 列為HTTPS
可能值的網站,這可能是什麼原因SERVER_PROTOCOL
?