reactjs - 为什么我的 Netlify 托管的 Gatsby 站点 301 重定向到没有域的路径?
问题描述
我做了一个快速检查,以确保我的网站是 301 重定向的:
https://inlunar.com/news/iceye-shows-off-new-sharp-images-from-satellite
到 www。版本:
https://www.inlunar.com/news/iceye-shows-off-new-sharp-images-from-satellite
但是,当我检查时,我发现从 www 发生了额外的 301 重定向。网址:
/news/iceye-shows-off-new-sharp-images-from-satellite
没有在任何地方找到的域名。这是第二个重定向的完整日志:
>>> https://www.inlunar.com/news/iceye-shows-off-new-sharp-images-from-satellite
> --------------------------------------------
> 301 Moved Permanently
> --------------------------------------------
Status: 301 Moved Permanently
Code: 301
Cache-Control: public, max-age=0, must-revalidate
Content-Type: text/html; charset=UTF-8
Date: Wed, 17 Jun 2020 01:09:17 GMT
Etag: "8af6153ff17d129285674adb734ca0e3-ssl"
Strict-Transport-Security: max-age=31536000
Age: 0
Server: Netlify
X-NF-Request-ID: 69351fad-bde6-4674-a9b8-fe017a45ee0c-2118676
Location: /news/iceye-shows-off-new-sharp-images-from-satellite/
为什么会发生第二个 301 重定向?
解决方案
Netlify 似乎正在使用尾部斜杠重定向到当前请求的位置,这与他们的文档一致,以提高缓存命中率。
至于域的省略,它只是一个相对 URL。
相对 URL 是不包含方案或主机的 URL。为了便于理解,它们必须与原始请求的 URL 结合使用。
http://www.example.com/blog的客户端请求:
GET /blog HTTP/1.1 Host: www.example.com
服务器响应:
HTTP/1.1 302 Found Location: /articles/
该位置的 URL 由客户端扩展为 http://www.example.com/articles/。
推荐阅读
- java - SERE0014:非法 HTML 字符 - 解析控制字符时出现十进制 129 异常
- macos - 可以从 dockerized Tshark 扫描网络吗?
- php - 下载文件在我的 Wordpress 网站中达到实际大小之前停止
- angular - 角度:从已解决的 Promise 中获取 httpClient.get 测试失败
- ckeditor - Typo3 8.7.x / CKEditor:如何覆盖下拉列表中标题的标签?
- single-sign-on - Rundeck SSO 与 KeyCloak
- javascript - appenChild 不是我的 php 页面中的函数
- javascript - 仅当在下拉列表之外单击鼠标时才关闭引导下拉列表
- php - 如何将foreach变量结果存储在php变量中
- latex - Latex - pdf目录中的几行点