应用了 UseCanonicalName 但请求标头的主机仍然没有改变

应用了 UseCanonicalName 但请求标头的主机仍然没有改变

我遇到了网站重定向问题,我发现我的 rewritecond 输入 = 'www.example.com' 和我的请求标头主机 = 'example.com'。因此,我尝试在 vhost 中应用 UseCanonimalName On,其中我的 ServerName 定义为 'www.example.com',希望当两者匹配时,我的网站重定向会发生,但不幸的是它没有发生,并且我的请求标头中的主机仍然保持为 'example.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 中有效,而不在其它浏览器上有效,不知道为什么?!

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

如果我理解或做错了,请纠正我。谢谢大家!

答案1

UseCanonicalName与重定向无关,但与自我参照URL。

  • Off: “使用客户端提供的主机名和端口形成自引用 URL”
  • On:“使用指令中指定的主机名和端口ServerName

您看到的重定向与此无关,但是HSTS 政策的结果您已使用 指定Strict-Transport-Security。支持 HSTS 并看到此标头的浏览器将执行内部重定向到 HTTPS,无论您的<VirtualHost *:80>配置如何。

相关内容