我遇到了网站重定向问题,我发现我的 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>
配置如何。