.htaccess配置HTTP转HTTPS后访问日志无200状态码问题
问题原因解析
你的情况核心原因是HostGator把HTTP和HTTPS的访问日志分开存储:
- 你添加的规则会把所有HTTP请求强制301重定向到HTTPS,用户第一次用HTTP访问时,服务器返回301的记录会出现在你当前查看的普通HTTP访问日志里。
- 浏览器收到301后会自动发起HTTPS请求,这个请求的200状态码记录存在HTTPS专属日志文件中(通常命名为
ssl_access_log或类似),你没查看这个文件,所以误以为没有200记录。 - 用户能正常下载,说明HTTPS请求确实成功返回了200,只是日志不在你当前查看的文件内。
- 移除规则后,用户直接通过HTTP访问,请求记录全部落在普通日志里,自然能看到200状态码的记录。
额外补充:301属于永久重定向,浏览器会缓存这个跳转规则,之后用户再访问会直接发起HTTPS请求,连301记录都可能不再出现在HTTP日志中,但HTTPS日志里仍会有对应的200记录。
内容的提问来源于stack exchange,提问作者user618
相关产品推荐
相关产品推荐

