我在github页面中运行一个带有Jekyll的网站,其中包含CloudFlare CDN和HTTPS。
在CloudFlare我使用以下规则为我的域启用“始终使用HTTPS”:http://*example.com/*
当输入的地址不包含结束斜杠时会出现问题,即:https://www.example.com/my-permalink
作为Jekyll的本质,它生成文件:/my-permalink/index.html
,所以当地址不包含末尾的“/”时,它会放置它,因此用户可以访问目录中的index.html文件。这不是什么大问题......
预期的行为应该分两步完成:
https://www.example.com/my-permalink
https://www.example.com/my-permalink/
,女巫在幕后index.html
。但在实际行为中,它在第一次重定向中丢失了HTTPS协议,然后再次使用https协议重定向,所有操作分三步完成:
https://www.example.com/my-permalink
http://www.example.com/my-permalink/
https://www.example.com/my-permalink/
根据PageSpeed,现在正在发生这种情况:
那么,如何防止错误的“http”重定向具有预期的行为(重定向分两步)?