Apache-2.4

UseCanonicalName On 已應用,但請求標頭的主機仍未更改

  • April 23, 2020

我遇到了網站重定向問題,我發現我的 rewritecond input= ‘www.example.com’ 和我的請求標頭 host = ’example.com’。因此,我嘗試在我的 ServerName 定義為“www.example.com”的虛擬主機中應用 UseCanonimalName On,希望當兩者都匹配時,我的網站重定向會發生,但不幸的是它不會發生,並且我的請求標頭中的主機仍然保持“範例” .com’。我指的是這個這個來做到這一點。

下面是我的 httpd-vhost.conf:

<VirtualHost *:80>
   ServerName www.example.com
   ServerAlias example.com
   UseCanonicalName On
   DocumentRoot "d:/wamp64/www/example"
   <Directory  "d:/wamp64/www/example/">
       Options +Indexes +Includes +FollowSymLinks +MultiViews
       AllowOverride All
       Order allow,deny
       Allow from all
       Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
   </Directory>
</VirtualHost>

下面是我得到的主機 在此處輸入圖像描述

以下是我希望收到的期望: 在此處輸入圖像描述

主機正在從 example.com 更改為 www.example.com,但不幸的是,它僅適用於 Firefox,但不適用於 IDK 為什麼的其他瀏覽器?!

***我正在使用 Windows 伺服器

如果我理解或做錯了,請糾正我。謝謝大家!

UseCanonicalName與重定向無關,而是與自引用URL 相關。

  • Off:“使用客戶端提供的主機名和埠形成自引用 URL”
  • On:“使用ServerName指令中指定的主機名和埠來”

您看到的重定向與此無關,而是您使用 指定的 HSTS 策略的結果Strict-Transport-Security<VirtualHost *:80>無論您的配置如何,支持 HSTS 並看到此標頭的瀏覽器都會執行到 HTTPS 的內部重定向。

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